Команда VBA IF с другого листа - PullRequest
0 голосов
/ 28 февраля 2019

У меня есть фрагмент кода, который вызывается с первого листа рабочей книги и ссылается на два листа в рабочей книге.Я знаю, что этот код делает то, что мне нужно, когда я нахожусь на вкладке «Данные».Однако, когда я запускаю его из вкладки «Меню управления», он не заполняется.Я вижу, где это не получается, потому что когда я смотрю на строку:

If Range("B" & i + 1).Offset(0, -1).Value = 1 And Range("B" & i + 1).Value = "UK" Then

, я наведите курсор на команду .Value, и в окне отображается «Пусто», поэтому я знаю, что этот код просматриваетвкладка «Меню управления», хотя я запускаю свой код с помощью команды «С листами» («Данные»).

По сути, на вкладке «Данные» у меня проходит несколько сотен строк данных, и япытаясь перебрать таблицу, скопируйте данные, где ReportID = 1 и Country = UK, и переместите их на другую вкладку, где у меня есть ссылки на диаграммы.

Полный код приведен ниже:

With Sheets("Data")

    RowCount = .Cells(.Rows.Count, "B").End(xlUp).Row

    For i = 1 To RowCount

     Range("B1").Offset(1, 0).Select

    If Range("B" & i + 1).Offset(0, -1).Value = 1 And Range("B" & i + 1).Value = "UK" Then

        ActiveSheet.Cells.Range(Selection, Selection.End(xlToRight)).Select
        Selection.Copy
        With Sheets("DynamicCharts")
            .Range("A" & Cells.Rows.Count).End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
        End With

    End If

Next i

End With

Любая помощь будет высоко ценится.

Заранее спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...