Excel + VBA

Программирование на Visual Basic for Applications
MYF
Новичок
Новичок
Аватара пользователя
 
Сообщения: 44
Зарегистрирован: 12.05.2006 (Пт) 6:38
Откуда: Череповец

Excel + VBA

Сообщение MYF » 12.05.2006 (Пт) 6:46

Excel (Microsoft Office 2003 Professional Suite)

В ячейке A1 хранится в текстовом виде диапазон ячеек, с которыми работает скрипт.
Если диапазон - сплошная прямоугольная область - проблем нет.
А если диапазон вида "B5:D10,B15:C17,E20,F5", то получается какой-то бред.
Код: Выделить всё
Sub Test
Dim R As String
Dim L As Long
R = Worksheets(1).Cells(1, 1)
Worksheets(1).Range(R).ClearContents
Worksheets(1).Range(R) = "+"
до этого места всё всегда работает как и задумано, а дальше...
Код: Выделить всё
For L = 1 To Worksheets(1).Range(R).Cells.Count
  Worksheets(1).Range(R).Cells(L) = L
  Next L
End Sub
продолжается вниз перебор ячеек области B:D. Хорошо хоть количество ячеек совпадает.
Подскажите, как заставить скрипт обрабатывать правильные ячейки?

Nicky
Постоялец
Постоялец
 
Сообщения: 519
Зарегистрирован: 12.08.2004 (Чт) 12:14

Сообщение Nicky » 12.05.2006 (Пт) 7:20

Код: Выделить всё
Sub Макрос1()
'
' Макрос1 Макрос
' Макрос записан 12.05.2006 (nicky)
'
' Сочетание клавиш: Ctrl+q
'
  Dim a As Range, c As Range, i As Long
  With Worksheets(1).Range(Worksheets(1).Cells(1, 1))
    .ClearContents
    .Value = "+"
    For Each a In .Areas
      For Each c In a.Cells
        i = i + 1
        c.Value = i
      Next
    Next
  End With
End Sub


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 55

    TopList