Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / For Each icel In MyRange / 6 сообщений из 6, страница 1 из 1
10.05.2007, 09:42:08
    #34515273
Deggasad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
For Each icel In MyRange
Код: plaintext
For Each icel In Range ("A1:J10")
- Перебирает ячейки в диапазоне по строкам, а как сделать чтобы по столбцам??? Подскажите пожалуйста.
...
Рейтинг: 0 / 0
10.05.2007, 10:59:18
    #34515481
KL (XL)
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
For Each icel In MyRange
Deggasad
Код: plaintext
For Each icel In Range ("A1:J10")
- Перебирает ячейки в диапазоне по строкам, а как сделать чтобы по столбцам??? Подскажите пожалуйста.

Твой код перебирает не по строкам, а по всем ячейкам.

Код: plaintext
1.
2.
3.
    Dim rngColumn As Range
    For Each rngColumn In Range("A1:J10").Columns
        MsgBox rngColumn.Cells( 1 )
    Next rngColumn


Код: plaintext
1.
2.
3.
4.
    For i =  1  To Range("A1:J10").Rows.Count
        For i = j To Range("A1:J10").Columns.Count
             MsgBox Range("A1:J10")(i, j)
        Next j
    Next i

KL
[MVP - Microsoft Excel]
...
Рейтинг: 0 / 0
10.05.2007, 11:35:06
    #34515629
vkodor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
For Each icel In MyRange
Если я правильно понял, нужно направление движение по столбцам?
Если да тогда так.
Код: plaintext
1.
2.
3.
4.
5.
    Dim rngColumn As Range, rngRows As Range
    For Each rngColumn In Range("A1:J10").Columns
        For Each rngRows In rngColumn.Rows
            MsgBox rngRows
        Next
    Next
...
Рейтинг: 0 / 0
10.05.2007, 11:41:12
    #34515654
Deggasad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
For Each icel In MyRange
KL (XL)
Твой код перебирает не по строкам, а по всем ячейкам.

Имел ввиду что вот этот код

Код: plaintext
1.
2.
3.
4.
5.
6.
Sub primer1()
Dim x, icel
For Each icel In Range("A1:D4")
 x = x & "," & icel.Address( 0 ,  0 )
Next
Debug.Print x
End Sub

Выдаст ,A1,B1,C1,D1,A2,B2,C2,D2,A3,B3,C3,D3,A4,B4,C4,D4 , т.е. сначала пробежит 1-ю строку, потом вторую ....

А нужно чтобы сначала 1-й столбец, потом второй ....
Т.е. ,A1,A2,A3,A4,B1,B2,B3,B4,C1,C2,C3,C4,D1,D2,D3,D4
Можно так, я согласен
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
Sub primer3()
Dim x, i, j
    
    For j =  1  To Range("A1:D4").Columns.Count
        For i =  1  To Range("A1:D4").Rows.Count
             x = x & "," & Range("A1:D4")(i, j).Address( 0 ,  0 )
        Next
    Next
Debug.Print x
End Sub

Но если диапазон имеет вид
Код: plaintext
Range("A1:D4,C5:J6")
, то неправильно сработает или можно как то и этот случай учесть?
...
Рейтинг: 0 / 0
10.05.2007, 11:59:40
    #34515725
Deggasad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
For Each icel In MyRange
vkodorЕсли я правильно понял, нужно направление движение по столбцам?
Если да тогда так.
Код: plaintext
1.
2.
3.
4.
5.
    Dim rngColumn As Range, rngRows As Range
    For Each rngColumn In Range("A1:J10").Columns
        For Each rngRows In rngColumn.Rows
            MsgBox rngRows
        Next
    Next


Сразу не заметил этого поста...
Да правильно..
Спасибо
Вот так вроде всё работает

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Sub primer4()
Dim x, rngColumn As Range, rngRows As Range
    For Each rngColumn In Range("A1:D4,C5:J6").Columns
        For Each rngRows In rngColumn.Rows
          x = x & "," & Range("A1:D4")(rngRows.Row, rngColumn.Column).Address( 0 ,  0 )
        Next
    Next
Debug.Print x
End Sub
...
Рейтинг: 0 / 0
10.05.2007, 12:01:26
    #34515734
Deggasad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
For Each icel In MyRange
Вернее так

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Sub primer4()
Dim x, rngColumn As Range, rngRows As Range
    For Each rngColumn In Range("A1:D4,C5:J6").Columns
        For Each rngRows In rngColumn.Rows
          x = x & "," & rngRows.Address( 0 ,  0 )
        Next
    Next
Debug.Print x
End Sub
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / For Each icel In MyRange / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]