我對VBA相當陌生,而且在執行一個看似簡單的任務時遇到了很多麻煩。我已經使用這個網站嘗試了許多不同的代碼,這是讓我最接近我想要的,但它不返回任何值。這裏是什麼,我需要做的前提是:搜索某些文本的第一行,然後複製整個列
1)搜索欄的整個第一行(A1讓我們說一個工作表的Z1)特定文本這種「封閉式」
2)如果所需的文本「關閉」的列中的一個被發現,從該列
3)從柱中這些值粘貼到另一個工作表的J列(「Source_Workbook」)
複製所有值*** *編輯**:我想列數據粘貼從J列(10)第5行後面的下一個空行開始粘貼。在這種情況下,我使用「偏移」時遇到了問題。另外,我只需要粘貼值(保持粘貼數據的頁面的格式)。
我的問題是,當我嘗試執行「Range.PasteSpecial」時,此代碼不斷給我提供錯誤。我希望我有正確的方法。請讓我知道,如果我可以進一步澄清。
Dim rng As Range
Dim cl As Object
Dim strMatch As String
strMatch = "Closed" 'Search first row for columns with "Closed"
Set rng = Target_Workbook2.Sheets(2).Range("A1:Z1")
For Each cl In rng
If cl.Value = strMatch Then
cl.EntireColumn.Copy
Exit For
With Source_Workbook2.Sheets(2)
Sheets(2).Columns("J").Offset(5, 0).PasteSpecial xlPasteValues
End With
End If
Next cl
將
Target_Workbook2.Sheets(2).Range("A1:Z1").AutoFilter 1, "*Closed*"
可能工作了過濾功能更好地?
當您在複製行後直接退出直接訪問您的.PasteSpecial時,該如何處理? – DragonSamu
除了dragonsamu的評論外,你還需要調用sheet(2)兩次。一旦進入with聲明並再次在下面。刪除第二個。它應該讀取.Columns(「J」)。Off ... –
下面的答案很有幫助,但沒有解決從第J列中的第5行之後的下一個空行開始粘貼我的數據的需要。我還希望只複製值,而不是格式。你們能幫忙嗎? – MayankB