Zamykając skoroszyt otrzymuję:
Run-time error 9 subscript out of range
To jest kod VBA:
Set wbk = Workbooks.Open(path & filename)
wbk.Sheets(sheetname).Range("b6").Resize(row_count, col_count).Copy
ThisWorkbook.Sheets(sheetname).Range("b6").Resize(1, col_count).PasteSpecial xlPasteValues
wbk.close
Czy ktoś może mi pomóc wydostać się z tego błędu?
microsoft-excel
microsoft-excel-2010
microsoft-excel-2007
vba
użytkownik578784
źródło
źródło
Odpowiedzi:
Ten rodzaj błędu wskazuje, że odwołujesz się do nieistniejącej komórki lub zakresu . W twoim przypadku myślę, że problem nie zamyka się, ale w jednej z następujących linii:
Sprawdź, czy
sheetname
,row_count
icol_count
zawierać poprawną wartość.źródło
Dlaczego używasz metody „.Resize” w paście? Widzę, że próbujesz skopiować zakres, powiedzmy komórek 3x4 i wkleić je do komórek 1x4. To nie jest możliwe. Spróbuj bez zmiany rozmiaru pasty:
W innym poście widziałem sposób kopiowania danych z wielu arkuszy do jednego:
źródło