2012-10-04 42 views
0

我想從不同工作簿中的另一工作表(工作表中的一列)中調用原始數據以填充主工作表中的列,但兩列大小是不同的。我想使用主表中的按鈕,當我點擊按鈕時,數據將被自動調用。這可以做到嗎?調用不同工作表中要粘貼在主工作表中的列中的數據

+0

這當然是相關的,這是很容易做到,但可能如果你闡述一點點的將是有益的。你能解釋一下你的意思嗎?但是這兩個列的大小是不一樣的? – psubsee2003

+0

hiiii .... psubsee2003非常喜歡你......(但兩個列大小都不同)意味着原始數據列和調用原始數據的列大小不同。感謝您 – kayathri

回答

2

這應該適用於初學者..

Sub temp() 
Dim wb1, wb2 As Workbook 

Set wb1 = ThisWorkbook 
Set wb2 = Workbooks.Open("file path") 

wb2.Sheets("Sheet1").Range("B1:B" & Range("B" & Rows.Count).End(xlUp).Row).Copy 
wb1.Activate 
wb1.Sheets("Sheet1").Select 
Range("B1").Select 
ActiveSheet.Paste 
Application.CutCopyMode = False 
End Sub 
+0

+ 1這應該做到這一點。但是有三條建議:) '1'您已聲明wb1作爲變體。你可能想要這樣做? Dim wb1 As Workbook,wb2 As Workbook '2'當使用Range Object和Rows()時,最好完全限定它們,例如wb2.Sheets(「Sheet1」)。Range(「B1:B」&wb2.Sheets (「Sheet1」)。Range(「B」&wb2.Sheets(「Sheet1」).Rows.Count).End(xlUp).Row).Copy CONTD ... –

+0

CONTD from above ... 如果你不想寫這麼長的代碼行,那麼你可以在With With With語句中包含上述內容:) '3'沒有必要激活和選擇範圍。您可以直接執行操作。例如, wb2.Sheets(「Sheet1」)。Range(「B1:B」&wb2.Sheets(「Sheet1」)。Range(「B」&wb2.Sheets(「Sheet1」).Rows.Count)。 End(xlUp).Row).Copy wb1.Sheets(「Sheet1」)。Range(「B1」) –

+0

Sifdhart。我同意你關於在任何地方都包括工作表。但是昏暗的wb1,wb2作爲工作簿應該聲明爲工作簿。不是嗎? – nightcrawler23

相關問題