2015-05-20 3 views
2

Это мой рабочий код:VBA. Как я могу ссылаться на несколько листов?

Set newwbk = Workboooks.Open(Newtext.Text) 
Set newSheet = newwbk.Worksheets("Sheet1") 
Set datawbk = Workboooks.Open(Datatext.Text) 
Set dataSheet = datawbk.Worksheets("CAP", "RES") 

Я имею ошибку на второй линии. Может кто-нибудь мне помочь?

Как я могу ссылаться на «Два листа CAP и RES»?
То, что я пытаюсь сделать, это сравнить «datawbk» (который имеет несколько листов) с другой книгой, скажем «newwbk» (только один лист), то, например, если они имеют одинаковый ввод в D2, вся строка D2 (A2, B2, C2, E2 ...) в «newwbk» будут заполнены тем, что написано в «datawbk» A2, B2, C2 и т. Д. Соответственно.

+0

то, что ошибка –

+0

неверное число аргументов или присвоение недействительного имущества. – Bianca

+0

посмотреть, поможет ли это [ссылка] (http://dmcritchie.mvps.org/excel/sheets.htm) – 0m3r

ответ

0

использование Set datasheet = Worksheets(Array("CAP", "RES")) как в примере ниже

Sub test() 
    Dim sh As Worksheet, datasheet As Object 
    Set datasheet = Worksheets(Array("CAP", "RES")) 
    For Each sh In datasheet 
     Debug.Print sh.Name 
    Next sh 
End Sub 

выход

enter image description here

+0

Спасибо! Я пробовал это, но на нем показана ошибка в этой части: Для iCol = 1 К dataSheet.UsedRange.Rows.Count – Bianca

+0

@Bianca, поделитесь своим полным кодом – Vasily

Смежные вопросы