【发布时间】:2017-11-15 23:56:27
【问题描述】:
[The sheet from where the data is to be copied, columnB2:B]
As columnB is filled I want the data in Sheet1 ColumnB to be copied to the next empty column in Sheet3
我的宏比较数据并将其粘贴到指定的列。我希望它比较数据并将其粘贴到下一个空列中。在“如果 FR 0 则 w2.Range("B" & FR).Value = c.Offset(0, 1)”行中,我想要“ B" 为空列,但我不能这样做。
Sub UpdateW2()
Dim w1 As Worksheet, w2 As Worksheet
Dim c As Range, FR As Long
Dim emptyColumn As Long
Application.ScreenUpdating = False
Set w1 = Sheet1
Set w2 = Sheet2
emptyColumn = w2.Cells(2, w2.Columns.Count).End(xlToLeft).Column
If emptyColumn > 1 Then
emptyColumn = emptyColumn + 1
End If
For Each c In w1.Range("B2", w1.Range("A" & Rows.Count).End(xlUp))
FR = 0
On Error Resume Next
FR = Application.Match(c, w2.Columns("A"), 0)
On Error GoTo 0
If FR <> 0 Then w2.Range("B" & FR).Value = c.Offset(0, 1)
Next c
Application.ScreenUpdating = True
End Sub
【问题讨论】:
-
欢迎来到SO,我找不到明确的问题,你能修改你的帖子并定义一个要解决的问题吗?请阅读>How to Ask
-
"我希望它比较数据并将其粘贴到下一个空列中" "我希望 "B" 为 emptyColumn 但我做不到那个”。您是否要粘贴到下一个空列中?或者B列,不知道你想要什么
-
另外,我注意到在您的提问行中的代码中,它缺少
End If声明。也许这就是您的问题所在? -
@Maldred 我希望它把它粘贴到下一个空列中。
-
@Maldred 我的问题在于“If FR 0 Then w2.Range("B" & FR).Value = c.Offset(0, 1)”这一行。我希望将“B”写为 emptyColumn