Делаю поиск строки сначала по одному диапазону с цифрой года, потом со смещением на один столбец по второму диапазону с названием месяца, и присваиваю значения нужным ячейкам. Для первого месяца отрабатывает все нормально, а остальные месяцы не находит. не могу понять где ошибка, хотя сначала все работало.
Sub CommandButton1_Click() Dim mmm, yyy As Range Dim mm, yy, nn AsString Set yy = Range("B1") Set mm = Range("B2")
nn = Range("B3") Set var1 = Range("B4") Set var2 = Range("B5") Set var3 = Range("B6") Set var4 = Range("B7") Set yyy = Sheets(nn).Columns(1).Find(yy) Set mmm = yyy.Offset(, 1).Find(mm) If yyy IsNothingThen MsgBox "Год " & yy & " не найден в базе данных.", vbExclamation: ExitSub If mmm IsNothingThen MsgBox "Месяц " & mm & " не найден в базе данных.", vbExclamation: ExitSub
mmm.Offset(, 1).Cells(1.1) = var1
mmm.Offset(, 5).Cells(1.1) = var2
mmm.Offset(, 6).Cells(1.1) = var3
mmm.Offset(, 8).Cells(1.1) = var4 EndSub
Делаю поиск строки сначала по одному диапазону с цифрой года, потом со смещением на один столбец по второму диапазону с названием месяца, и присваиваю значения нужным ячейкам. Для первого месяца отрабатывает все нормально, а остальные месяцы не находит. не могу понять где ошибка, хотя сначала все работало.
Sub CommandButton1_Click() Dim mmm, yyy As Range Dim mm, yy, nn AsString Set yy = Range("B1") Set mm = Range("B2")
nn = Range("B3") Set var1 = Range("B4") Set var2 = Range("B5") Set var3 = Range("B6") Set var4 = Range("B7") Set yyy = Sheets(nn).Columns(1).Find(yy) Set mmm = yyy.Offset(, 1).Find(mm) If yyy IsNothingThen MsgBox "Год " & yy & " не найден в базе данных.", vbExclamation: ExitSub If mmm IsNothingThen MsgBox "Месяц " & mm & " не найден в базе данных.", vbExclamation: ExitSub
mmm.Offset(, 1).Cells(1.1) = var1
mmm.Offset(, 5).Cells(1.1) = var2
mmm.Offset(, 6).Cells(1.1) = var3
mmm.Offset(, 8).Cells(1.1) = var4 EndSub
Sub CommandButton1_Click() Dim mmm As Range, yyy As Range With Sheets(CStr(Range("B3"))) Set yyy = .Columns(1).Find(Range("B1")) Set mmm = .Range(.Cells(yyy.Row, 2), .Cells(yyy.Row + yyy.MergeArea.Count - 2, 2)).Find(Range("B2")) If yyy IsNothingThen MsgBox "Год " & Range("B1") & " не найден в базе данных.", vbExclamation: ExitSub If mmm IsNothingThen MsgBox "Месяц " & Range("B2") & " не найден в базе данных.", vbExclamation: ExitSub
mmm.Offset(, 1) = Range("B4")
mmm.Offset(, 5) = Range("B5")
mmm.Offset(, 6) = Range("B6")
mmm.Offset(, 8) = Range("B7") EndWith EndSub
Sub CommandButton1_Click() Dim mmm As Range, yyy As Range With Sheets(CStr(Range("B3"))) Set yyy = .Columns(1).Find(Range("B1")) Set mmm = .Range(.Cells(yyy.Row, 2), .Cells(yyy.Row + yyy.MergeArea.Count - 2, 2)).Find(Range("B2")) If yyy IsNothingThen MsgBox "Год " & Range("B1") & " не найден в базе данных.", vbExclamation: ExitSub If mmm IsNothingThen MsgBox "Месяц " & Range("B2") & " не найден в базе данных.", vbExclamation: ExitSub
mmm.Offset(, 1) = Range("B4")
mmm.Offset(, 5) = Range("B5")
mmm.Offset(, 6) = Range("B6")
mmm.Offset(, 8) = Range("B7") EndWith EndSub