С Новым годом! Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 14.05.2016
Сообщений: 57
1

Не отрабатывает цикл

05.10.2018, 09:27. Показов 617. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем привет.

Нужна очень помощь.
Есть цикл ю
Который не отрабатывает с таким условием
For Each row In ActiveSheet.Rows("m:" & r)

а если For Each row In ActiveSheet.Rows("1260:" & r) то все ок

как сделать чтобы вместо статической 1260 можно было ввести переменную?


Visual Basic
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
  Dim n As Range
    Dim m As Variant
    m = UserEntry + 4
    
    For Each n In Range("A:A")
    
   If n = UserEntry And n = UserEntry Then
    
     For Each row In ActiveSheet.Rows("m:" & r)
        With row
            номер = Trim$(.Cells(1))
            Filename = НоваяПапка & номер '& РасширениеСоздаваемыхФайлов
 
            pi.StartNewAction p, p + A, "Создание нового файла на основании шаблона", номер
            Set WD = WA.Documents.Add(ПутьШаблона): DoEvents
 
            pi.StartNewAction p + A / 3, p + A * 2 / 3, "Замена данных ...", номер
            For i = 1 To КоличествоОбрабатываемыхСтолбцов
                FindText = Cells(1, i): ReplaceText = Trim$(.Cells(i))
 
                ' так почему-то заменяет не всё (не затрагивает таблицу)
                'WA.Selection.Find.Execute FindText, , , , , , , wdFindContinue, False, ReplaceText, True
 
                pi.line3 = "Заменяется поле " & FindText
                With WD.Range.Find
                    .Text = FindText
                    .Replacement.Text = ReplaceText
                    .Forward = True
                    .Wrap = 1
                    .Format = False: .MatchCase = False
                    .MatchWholeWord = False
                    .MatchWildcards = False
                    .MatchSoundsLike = False
                    .MatchAllWordForms = False
                    .Execute Replace:=2
                End With
                DoEvents
            Next i
            pi.StartNewAction p + A * 2 / 3, p + A, "Сохранение файла ...", номер, " "
            WD.SaveAs Filename: WD.Close False: DoEvents
            p = p + A
            
               
       End With
          Next row
       
      ' Else: If n = Empty Then Exit For
    
     Exit For
       End If
        Next n
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.10.2018, 09:27
Ответы с готовыми решениями:

Цикл отрабатывает несколько раз
Всем привет. Столкнулся с проблемой, что цикл отрабатывает несколько раз. Сейчас привет пример в...

Регулярка findstr отрабатывает на одном файле, но не отрабатывает на другом
Приветствую ! Сижу, ругаюсь матом в голос потому, что регулярка срабатывает на одном текстовом...

Результат запроса отрабатывает в консоли, но не отрабатывает в модуле
Доброго времени суток! Собственно проблема в следующем, есть запрос, который возвращает дату...

Цикл отрабатывает "лишний" раз
Суть проблемы такова: делаю поисковую форму по записям БД. Вывод информации осуществляется...

3
es geht mir gut
11272 / 4756 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
05.10.2018, 09:30 2
Цитата Сообщение от Denis1985 Посмотреть сообщение
For Each row In ActiveSheet.Rows("m:" & r)
m & ":" & r)
0
15153 / 6426 / 1731
Регистрация: 24.09.2011
Сообщений: 9,999
05.10.2018, 09:30 3
Denis1985,
Visual Basic
1
For Each row In ActiveSheet.Rows(m & ":" & r)
1
0 / 0 / 0
Регистрация: 14.05.2016
Сообщений: 57
05.10.2018, 10:48  [ТС] 4
Всем большое спасибо!!!

Добавлено через 12 минут
Еще вопрос , а можно сделать чтобы выполнился цикл только по той строке которая содержит m ?

Добавлено через 1 час 3 минуты
как выполнить такое условие

If m <> ActiveSheet.Rows(m & ":" & r) Then Exit For
0
05.10.2018, 10:48
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.10.2018, 10:48
Помогаю со студенческими работами здесь

Создать программу по всем 3 видам циклов...цикл с параметром,цикл с условием,цикл,и цикл с предусловием...
Найти сумму чисел 1 в квадрате до 10 c квадрате...операцию возведению в степень не использовать...

Цикл с предусловием, цикл с постусловием и цикл с параметром
Объясните пожалуйста как делать эти циклы. У меня не получается. Можете сделать как на фото, или на...

Не отрабатывает if
//--------------------------------------------------------------------------- #include &lt;vcl.h&gt;...

Не отрабатывает try
всем привет. может кто подсказать что не так в коде: kod := edit1.Text; org :=...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru