имеется вот такой вот макрос для разноса дат почему то стал пропускать некоторые даты... после следующего запуска он еще несколько дат перенесет и так несколько раз и может остановится на некоторых датах... сам недавно начал писать не могу понять в чем может быть причина
qw = 2050 ' количество прогоняемых строк For i = 1 To qw Dim pr As String If IsDate(Sheets("1").Cells(i, 1).Value) Then 'ищем строку с датой
w2 = Cells(i, 1) ' q = DateDiff("d", Now, w2) ' вычисляем количество дней pr = "'" & Cells(i, 10).Value ' ставим ' стоб сохранять числа из 20 знаков
' сроком до 30 дней If q <= 30 Then For e = 1 To qw If Trim(Sheets("1").Cells(e, 1)) = " сроком до 30 дней" Then e1 = e For e2 = 1 To qw If Trim(Sheets("1").Cells(e2, 1)) = " сроком 31-60 дней" Then If e1 < i And i < e2 Then 'смотрим в том ли промежутке лежит GoTo noob 'ничего не делаем Else ' вставляем в нужный Rows(i).Select With Selection.Interior .Pattern = xlSolid .PatternColorIndex = xlAutomatic .ThemeColor = xlThemeColorDark2 .TintAndShade = 0 .PatternTintAndShade = 0 End With For e3 = e1 + 1 To e2 If Sheets("1").Cells(e3, 1) <> "" Then w3 = Sheets("1").Cells(e3, 1) qqw = DateDiff("d", Now, w3) If q < qqw Then
GoTo noob End If Next GoTo noob End If End If Next End If Next End If дальше по аналогии
имеется вот такой вот макрос для разноса дат почему то стал пропускать некоторые даты... после следующего запуска он еще несколько дат перенесет и так несколько раз и может остановится на некоторых датах... сам недавно начал писать не могу понять в чем может быть причина
qw = 2050 ' количество прогоняемых строк For i = 1 To qw Dim pr As String If IsDate(Sheets("1").Cells(i, 1).Value) Then 'ищем строку с датой
w2 = Cells(i, 1) ' q = DateDiff("d", Now, w2) ' вычисляем количество дней pr = "'" & Cells(i, 10).Value ' ставим ' стоб сохранять числа из 20 знаков
' сроком до 30 дней If q <= 30 Then For e = 1 To qw If Trim(Sheets("1").Cells(e, 1)) = " сроком до 30 дней" Then e1 = e For e2 = 1 To qw If Trim(Sheets("1").Cells(e2, 1)) = " сроком 31-60 дней" Then If e1 < i And i < e2 Then 'смотрим в том ли промежутке лежит GoTo noob 'ничего не делаем Else ' вставляем в нужный Rows(i).Select With Selection.Interior .Pattern = xlSolid .PatternColorIndex = xlAutomatic .ThemeColor = xlThemeColorDark2 .TintAndShade = 0 .PatternTintAndShade = 0 End With For e3 = e1 + 1 To e2 If Sheets("1").Cells(e3, 1) <> "" Then w3 = Sheets("1").Cells(e3, 1) qqw = DateDiff("d", Now, w3) If q < qqw Then
рома, Вы, что в серьёз думаете, что Ваш текст без знаков препинания и заглавных букв и код без начал и концов процедур, да ещё к тому же не оформленный тэгами {code} для читабельности кто-то ринется разбирать и анализировать?
рома, Вы, что в серьёз думаете, что Ваш текст без знаков препинания и заглавных букв и код без начал и концов процедур, да ещё к тому же не оформленный тэгами {code} для читабельности кто-то ринется разбирать и анализировать?Alex_ST
С уважением, Алексей MS Excel 2003 - the best!!!
Сообщение отредактировал Alex_ST - Вторник, 30.10.2012, 16:16
рома, Вы, что в серьёз думаете, что Ваш текст без знаков препинания и заглавных букв и код без начал и концов процедур, да ещё к тому же не оформленный тэгами {code} для читабельности кто-то ринется разбирать и анализировать?
И без примера исходных данных- тоже не станет.
Quote (Alex_ST)
рома, Вы, что в серьёз думаете, что Ваш текст без знаков препинания и заглавных букв и код без начал и концов процедур, да ещё к тому же не оформленный тэгами {code} для читабельности кто-то ринется разбирать и анализировать?
И без примера исходных данных- тоже не станет. Формуляр
Sub sortirovka2() Cells.Select With Selection.Interior .Pattern = xlSolid .PatternColorIndex = xlAutomatic .ThemeColor = xlThemeColorDark1 .TintAndShade = 0 .PatternTintAndShade = 0 End With
qw = 2050 'число строк For i = 1 To qw Dim pr As String If IsDate(Sheets("1").Cells(i, 1).Value) Then 'ищем строку с датой
w2 = Cells(i, 1) ' q = DateDiff("d", Now, w2) ' количество дней до pr = "'" & Cells(i, 10).Value ' контроль 20 знаков 'до 30 дней If q <= 30 Then For e = 1 To qw If Trim(Sheets("1").Cells(e, 1)) = "до 30 дней" Then e1 = e For e2 = 1 To qw If Trim(Sheets("").Cells(e2, 1)) = "31-60 дней" Then If e1 < i And i < e2 Then 'промежуток блока GoTo noob 'ничего не делаем Else ' переносим Rows(i).Select With Selection.Interior .Pattern = xlSolid .PatternColorIndex = xlAutomatic .ThemeColor = xlThemeColorDark2 .TintAndShade = 0 .PatternTintAndShade = 0 End With For e3 = e1 + 1 To e2 If Sheets("1").Cells(e3, 1) <> "" Then w3 = Sheets("1").Cells(e3, 1) qqw = DateDiff("d", Now, w3) If q < qqw Then Rows(i).Select Selection.Cut Rows(e3).Select Selection.Insert Shift:=xlDown Cells(e3, 10).Value = pr 'контроль 20 знаков GoTo noob End If Else Rows(i).Select Selection.Cut Rows(e3).Select Selection.Insert Shift:=xlDown Cells(e3, 10).Value = pr ' контроль 20 знаков GoTo noob End If Next GoTo noob End If End If Next End If Next End If
Sub sortirovka2() Cells.Select With Selection.Interior .Pattern = xlSolid .PatternColorIndex = xlAutomatic .ThemeColor = xlThemeColorDark1 .TintAndShade = 0 .PatternTintAndShade = 0 End With
qw = 2050 'число строк For i = 1 To qw Dim pr As String If IsDate(Sheets("1").Cells(i, 1).Value) Then 'ищем строку с датой
w2 = Cells(i, 1) ' q = DateDiff("d", Now, w2) ' количество дней до pr = "'" & Cells(i, 10).Value ' контроль 20 знаков 'до 30 дней If q <= 30 Then For e = 1 To qw If Trim(Sheets("1").Cells(e, 1)) = "до 30 дней" Then e1 = e For e2 = 1 To qw If Trim(Sheets("").Cells(e2, 1)) = "31-60 дней" Then If e1 < i And i < e2 Then 'промежуток блока GoTo noob 'ничего не делаем Else ' переносим Rows(i).Select With Selection.Interior .Pattern = xlSolid .PatternColorIndex = xlAutomatic .ThemeColor = xlThemeColorDark2 .TintAndShade = 0 .PatternTintAndShade = 0 End With For e3 = e1 + 1 To e2 If Sheets("1").Cells(e3, 1) <> "" Then w3 = Sheets("1").Cells(e3, 1) qqw = DateDiff("d", Now, w3) If q < qqw Then Rows(i).Select Selection.Cut Rows(e3).Select Selection.Insert Shift:=xlDown Cells(e3, 10).Value = pr 'контроль 20 знаков GoTo noob End If Else Rows(i).Select Selection.Cut Rows(e3).Select Selection.Insert Shift:=xlDown Cells(e3, 10).Value = pr ' контроль 20 знаков GoTo noob End If Next GoTo noob End If End If Next End If Next End If
рома, почему не прикрепить просто файл? Откуда мне знать, что там на листе Sheets("1") и, тем более, Sheets("") И куда чего он должен разносить?
рома, почему не прикрепить просто файл? Откуда мне знать, что там на листе Sheets("1") и, тем более, Sheets("") И куда чего он должен разносить?Формуляр