繁体   English   中英

VBA从工作簿中获取值并将其放入另一个工作簿中

[英]VBA obtaining values from a workbook and put them in another workbook

我无法将值从一个工作簿转移到另一个工作簿。

现在它可以工作了,但是正如您可能在下面的代码中看到的那样,它会在第二个工作簿之后不断打开一个工作簿,直到循环结束。 所以我的问题是:如何在不始终打开​​工作簿的情况下执行此操作?

码:

For i = 2 To LastRow
Set wb2 = Workbooks.Open("...")
With Worksheets("...")
    x = .Cells(i, 2).Value
    y = .Cells(i, 3).Value
End With

If variable1 = variable2 Then
Set wb = Workbooks.Open("...")
With Worksheets("...")        
    .Cells(i, 2).Value = x
    .Cells(i, 3).Value = y    
End With
End If

Next i

以下代码给我一个错误: x = wb2.WorkSheets("...").Cells(i, 2).Value标超出范围

Set wb2 = Workbooks.Open("...")
Set wb = Workbooks.Open("...")
For i = 2 To LastRow
    x = wb2.WorkSheets("...").Cells(i, 2).Value
    y = wb2.WorkSheets("...").Cells(i, 3).Value
If variable1 = variable2 Then
    wb.WorkSheets("...").Cells(i, 2).Value = x
    wb.WorkSheets("...").Cells(i, 3).Value = y
End If

Next i

怎么样,首先在循环外设置wbwb2对象,然后直接在工作簿之间设置值。

Set wb2 = Workbooks.Open("...")
Set wb = Workbooks.Open("...")

For i = 2 To LastRow
    wb.Worksheets("...").Cells(i, 2).Value = wb2.Worksheets("...").Cells(i, 2).Value
    wb.Worksheets("...").Cells(i, 3).Value = wb2.Worksheets("...").Cells(i, 3).Value
Next i

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM