Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Не работает цикл / 7 сообщений из 7, страница 1 из 1
28.09.2005, 16:06:34
    #33293720
Инета
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает цикл
Помогите пожалуйста ! На Лист1 находятся данные:

1 2 3 4
з\ч 43,0 мат-лы 20.0
з\ч 15,0
з\ч 1,0 мат-лы 33.0
з\ч 5,0 мат-лы 2.0
мо
мо
мат-лы 12.0
з\ч 37.9

в 1 и 3 столбцах название
во 2 и 4 столбцах кол-во.
Мне надо выбрать из таблицы данные по названиям и записать их в листы..
Лист з\ч(2) Лист мат-лы(3) Лист МО(4)
з\ч 43,0 мат-лы 20,0
з\ч 15.0 мат-лы 33,0
з\ч 1,0 мат-лы 2,0
з\ч 5,0 мат-лы 12,0
з\ч 37,9
Если есть только з\ч или только мат-лы, все работает, а если есть в строке и з\ч и мат-лы то не работает. Что я делаю не так?
Const FirstRow = 1
Private Sub CommandButton1_Click()
NumStr = 1
For i = 1 To 100
Worksheets(1).Activate
If (Worksheets(1).Cells(i + FirstRow - 1, 1) = "з\ч" And Worksheets(1).Cells(i + FirstRow - 1, 3) = "мат-лы" And Worksheets(1).Cells(i + FirstRow - 1, 2 = " " And Worksheets(1).Cells(i + FirstRow - 1, 4) = " ") Then
Worksheets(2).Cells(i + FirstRow - 1, 1) = Worksheets(1).Cells(i + FirstRow - 1, 1)
Worksheets(2).Cells(i + FirstRow - 1, 2 = Worksheets(1).Cells(i + FirstRow - 1, 2)
Worksheets(3).Cells(i + FirstRow - 1, 1) = Worksheets(1).Cells(i + FirstRow - 1, 1)
Worksheets(3).Cells(i + FirstRow - 1, 2) = Worksheets(1).Cells(i + FirstRow - 1, 2)
End If
NumStr = NumStr + 1
Next
End Sub
...
Рейтинг: 0 / 0
28.09.2005, 17:20:23
    #33294002
Не работает цикл
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
    Dim rng As Range
    Dim cel As Range
    Dim i As Integer
    
    Set rng = ThisWorkbook.Worksheets("Лист1").Range("A1:A100")
    i =  1 
    
    For Each cel In rng
        Select Case cel.Value
            Case "з\ч"
                With ThisWorkbook.Worksheets("Лист2").Cells(i,  1 )
                    .Value = cel.Value
                    .Offset( 0 ,  1 ).Value = cel.Offset( 0 ,  1 ).Value
                End With
                If cel.Offset( 0 ,  2 ).Value = "мат-лы" Then
                    With ThisWorkbook.Worksheets("Лист3").Cells(i,  1 )
                        .Value = cel.Offset( 0 ,  2 ).Value
                        .Offset( 0 ,  1 ).Value = cel.Offset( 0 ,  3 ).Value
                    End With
                End If
            Case "мат-лы"
                With ThisWorkbook.Worksheets("Лист3").Cells(i,  1 )
                    .Value = cel.Value
                    .Offset( 0 ,  1 ).Value = cel.Offset( 0 ,  1 ).Value
                End With
        End Select
        i = i +  1 
    Next

    With ThisWorkbook
        .Worksheets("Лист2").Range("A:B"). _
          SpecialCells(xlCellTypeBlanks).Delete xlShiftUp
        .Worksheets("Лист3").Range("A:B"). _
          SpecialCells(xlCellTypeBlanks).Delete xlShiftUp
    End With
...
Рейтинг: 0 / 0
29.09.2005, 09:09:38
    #33294763
Инета
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает цикл
Очень,Вам благодарна, спасибо.
...
Рейтинг: 0 / 0
29.09.2005, 09:32:41
    #33294798
Не работает цикл
Все нормально работает?
...
Рейтинг: 0 / 0
29.09.2005, 13:58:30
    #33295854
Инета
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает цикл
НЕ ТАК КАК МНЕ ХОТЕЛОСЬ БЫ. А У ВАС АСЬКА ЕСТЬ?
...
Рейтинг: 0 / 0
29.09.2005, 14:04:21
    #33295885
Не работает цикл
Аськи нет. А здесь нельзя? :)
...
Рейтинг: 0 / 0
29.09.2005, 15:13:19
    #33296139
Инета
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает цикл
А электронная почта есть?
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Не работает цикл / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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