正如你可能會從代碼中看出的那樣,我對VBA很新穎,所以如果這真是一個愚蠢的問題,請大家道歉。重複VBA在Excel中隨後的列中查找
我需要一個代碼塊來查看在全局變量Verb1中指定的文本字符串的一個工作表(RawData),並將其粘貼到不同工作表(Verbatim)的第一個空列中。
我的困難是存儲在Verb1中的字符串可能會在RawData中出現1,2或3次,所以我需要Find函數來檢查多個列,即使在找到第一個字符串後也是如此。
但是,我的代碼實際上在做的是複製包含首次出現的字符串的列,並粘貼它的次數等於我搜索範圍內的列數......在這種情況下, 688次。
我已檢查代碼的工作原理沒有For ... Next語句(即它找到字符串的第一個匹配項,並將其粘貼到Verbatim工作表的第一個空白列中),但我無法看看這個聲明中的錯誤是什麼。
Public Verb1 As String
Sub Paste2()
Dim ws1 As Worksheet
Dim ws2 As Worksheet
Dim aCell As Range
Dim NextCol As Long
Set ws1 = ThisWorkbook.Sheets("RawData")
Set ws2 = ThisWorkbook.Sheets("Verbatim")
Set Rng = ThisWorkbook.Sheets("RawData").Range("A1:ZZ1")
NextCol = 0
Worksheets("RawData").Activate
With ws1
'Copy and Paste Verbatim
For Each Cell in Rng
NextCol = NextCol + 1
Set aCell = Worksheets("RawData").Range("A1:ZZ1").Find(What:=Verb1,
LookIn:=xlValues, LookAt:=xlPart, MatchCase:=False, SearchFormat:=False)
aCell.EntireColumn.Copy ws2.Cells(1, NextCol)
Next Cell
End With
End Sub
任何人都可以指向正確的方向嗎?
非常感謝您的幫助。
謝謝你,這工作得很好,清理我的代碼也非常感謝。 – mantika
@mantika如果您可以將我的回覆標記爲答案,請點擊評級指標下方的複選標記,我會很感激 –