Jestem bardzo nowy w świecie VBA, więc staram się tu trochę zrozumieć.
Chciałbym więc zaimportować kolejny dokument programu Excel do mojego arkusza. Udało mi się to rozgryźć.
Sub Import()
Dim OpenFileName As String
Dim wb As Workbook
'Select and Open workbook
OpenFileName = Application.GetOpenFilename("clients savedspreadsheet,*.xls")
If OpenFileName = "False" Then Exit Sub
Set wb = Workbooks.Open(OpenFileName)
'Get data EXAMPLE
ThisWorkbook.Sheets(1).Range("A2:P2").Value = wb.Sheets(1).Range("A2:P2").Value
MsgBox ("Done")
End Sub
Mam problem z mapowaniem komórek, w których chcę uzyskać informacje.
Na przykład moje dane, które chcę wyeksportować, znajdują się w komórce A2-B2-C2 podczas importu, chcę je w tym samym miejscu A2-B2-c2
Następna partia to D2-E2-F2 i chcę, aby zaimportowały do komórek G2-H2-I2
Ostatnią partią byłyby komórki G2-H2-I2-J2-K2 do zaimportowania do komórek K2-L2-M2-N2-O2
Ważne dane mogą znajdować się w wielu wierszach, do 20 000 wierszy, więc dane musiałyby się zapełniać.
Przepraszamy, jeśli nie jest to jasne, jeśli potrzebujesz więcej informacji, daj mi znać
microsoft-excel
microsoft-excel-2010
vba
Olivier Lim
źródło
źródło
Odpowiedzi:
Łatwiej jest użyć zmiennej Range, używając Resize, w ten sposób musisz tylko określić:
Set SrcRg = wS.Range("A2:P2")
wsTB.Range("A2")
Kod :
źródło