我想从一个工作簿中复制一列数据(我想至少复制单元格值),然后将复制的数据粘贴/更新到另一个工作簿。首先,我在源工作簿中创建了一个命令按钮,因此每次单击该按钮时,所有数据都将从另一个文件更新自身。
这是我的代码。它一次只能复制一个单元格,而不是复制整列。
Private Sub CommandButton1_Click()
Dim itemCapRet As String
Dim Testing1 As Workbook
Worksheets("Testing2").Select
itemCapRet = Range("I1")
Set myData = Workbooks.Open("C:\Documents\Testings\Testing2.xlsx")
Worksheets("sheet1").Select
Worksheets("sheet1").Range("A1").Select
RowCount = Worksheets("sheet1").Range("A1").CurrentRegion.Rows.Count
With Worksheets("Sheet1").Range("A1")
.Offset(RowCount, 0) = itemCapRet
.Offset(RowCount, 1) = itemPrice
End With
Testing1.Save
End Sub
答案 0 :(得分:1)
此代码会将活动工作簿的Testing2
工作表,列I
设置为位于A
<工作簿中工作表Sheet1
上的列C:\Documents\Testings\Testing2.xlsx
的工作表/ p>
Sub CopyColumn()
Dim WB1 As Workbook
Dim WB2 As Workbook
Set WB1 = ActiveWorkbook
Set WB2 = Workbooks.Open("C:\Documents\Testings\Testing2.xlsx")
WB1.Sheets("Testing2").Columns("I").Value = WB2.Sheets("sheet1").Columns("A").Value
WB2.Close
End Sub
更新 基于评论的代码:
Private Sub CommandButton1_Click()
Dim wb1 As Workbook
Dim wb2 As Workbook
Set wb1 = ActiveWorkbook
Set wb2 = Workbooks.Open("C:\Users\zyu\Documents\Processed Data\Allagash\16 cells\Copy of TXM10421_24M_capacity_102113.xls")
wb1.Sheets("Sheet1").Columns("S").Value = wb2.Sheets("16").Columns("N").Value
End Sub
答案 1 :(得分:0)
有很多问题。我建议从小开始,然后建立你想要的东西。
您没有正确引用工作簿。你定义myData&amp; Testing1但从不使用它。
另外,你在一行上进行行计数。
itemPrice永远不会设置。
保存Testing1工作簿,但不要更改任何内容。
仍有很多逻辑问题,但这会让你开始。不确定你的复制工作簿是什么,也不确定。
Private Sub CommandButton1_Click()
Dim itemCapRet As String
Dim wbk_Testing1 As Workbook
Dim wbk_Current As Workbook
Set wbk_Current = ActiveWorkbook
Set wbk_Testing1 = Workbooks.Open("C:\Documents\Testings\Testing2.xlsx")
wbk_Testing1.Worksheets(1).Columns("A:A").Copy
wbk_Current.Worksheets("Testing2").Activate
Range("A1").Select
ActiveSheet.Paste
wbk_Testing1.Save
End Sub
答案 2 :(得分:0)
除了Testing2中单元格J1的内容外,您的宏不会复制任何数据。你想要复制什么范围?
如果您要复制并粘贴整个列,请将itemCapRet = Range("I1")
更改为itemCapRet = Range("I:I")
以复制所有列J,但正如Portland Runner刚刚回答的那样,这里定义了很多没有被使用的东西。