powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Не работает цикл
7 сообщений из 7, страница 1 из 1
Не работает цикл
    #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
Не работает цикл
    #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
Не работает цикл
    #33294763
Инета
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Очень,Вам благодарна, спасибо.
...
Рейтинг: 0 / 0
Не работает цикл
    #33294798
Все нормально работает?
...
Рейтинг: 0 / 0
Не работает цикл
    #33295854
Инета
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НЕ ТАК КАК МНЕ ХОТЕЛОСЬ БЫ. А У ВАС АСЬКА ЕСТЬ?
...
Рейтинг: 0 / 0
Не работает цикл
    #33295885
Аськи нет. А здесь нельзя? :)
...
Рейтинг: 0 / 0
Не работает цикл
    #33296139
Инета
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А электронная почта есть?
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Не работает цикл
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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