我运行一个run循环从一个工作表中复制值并将其粘贴到另一个工作表中时,遇到了RUn时间错误。这是我的代码;
Option Explicit
Sub TeknikerData()
Dim Lag As String
Dim lr1 As long
Dim lr2 As Long
Dim i As Integer
Dim j As Integer
Dim wh1 As Worksheet
Dim wh2 As Worksheet
Set wh1 = Sheets("Data")
Set wh2 = Sheets("Dashboard")
lr1 = wh1.Cells(Rows.Count, 4).End(xlUp).Row
Lag = wh2.Cells(12, 1).Value
For i = 2 To lr1
If wh1.Cells(i, 4) = Lag Then
wh1.Range(Cells(i, 2), Cells(i, 2)).Copy
wh2.Range("B50").End(xlUp).Offset(1, 0).PasteSpecial xlPasteFormulasAndNumberFormats
End If
Next i
End Sub我知道在运行循环时激活正确的工作表似乎有问题,但我无法解决这个问题
发布于 2019-07-09 20:50:44
看起来您已经将for循环的上限声明为字符串而不是数字数据类型,如下所示。
Dim lr1 As String应更改为
Dim lr1 As Long我也刚刚注意到
wh1.Range(Cells(i, 2), Cells(i, 2)).Copy应该是
wh1.Range(wh1.Cells(i, 2), wh1.Cells(i, 2)).Copy发布于 2019-07-09 20:48:21
您遇到的是哪一行错误?
你打算在for循环中使用j吗?
wh1.Range(Cells(i, 2), Cells(i, 2)).Copy '<- are one of these i's supposed to be j?https://stackoverflow.com/questions/56952917
复制相似问题