我對VBA相當陌生,但對編寫python有適度的舒適感。聲明變量在兩者之間有點不同,我相信這是我大部分的鬥爭所在。運行時錯誤5和循環的一般複製/粘貼
這是由兩部分組成頭痛:
1)第一頭疼的是,當我嘗試運行下面的代碼段,我得到「運行時error'5' :無效的過程調用或參數」
cll.Offset(0, 1).Copy (Worksheets("Sheet7").cells(Rows.Count & "L").End(xlUp).Row)
我已經試過各種設置的「拷貝」作爲變量的權,然後調用這個變量,但我仍然收到同樣的錯誤。我已經查看了許多關於引用列中最後一個空白單元格的教程和指南,並且我的代碼與我發現的內容相匹配,但錯誤狀態另有說明。 2.)我正在處理的代碼的更大圖片包含一個下拉列表(僅用於引用50個狀態),一個引用該列表中狀態的代碼,一個counta
工作表函數以及一個單獨的工作表,每個州都有每個縣。
我想在下拉列表中選擇一個狀態,將一個特定州的縣從單獨的工作表(「Fips_Reference」)複製到我的活動頁面(「Sheet7」)。從那裏我需要它來引用我的counta
(pcount)並確定有多少單元實際包含數據。例如,如果counta
= 2,那麼我需要每個縣粘貼兩次,以便該列從上到下讀取「縣1」,「縣1」,「縣2」,「縣2」等。我一直在努力嘗試嵌套循環,並且如果對方內部的陳述持續了好幾天,並且繼續被困住。
Sub fipsloop2()
pcount = WorksheetFunction.CountA(Worksheets("StateSource").Range("b3:b8"))
Dim cll As Range
Dim rng As Range
Dim fip As Range
Dim state As Range
Set rng = Worksheets("FIPS_Reference").Range("c2:c3280")
Set fip = Worksheets("FIPS_Reference").Range("d2")
Set state = Worksheets("Sheet7").Range("C1")
For Each cll In rng
If cll = state Then
cll.Offset(0, 1).Copy (Worksheets("Sheet7").cells(Rows.Count & "L").End(xlUp).Row)
ActiveCell.Offset(1, 0).Select
'If pcount > 1 Then
End If
Next
End Sub
我已經安排了對...每個循環來看看包含狀態的名稱的單元格區域,然後看看,如果狀態的名字在我的名單中的狀態匹配。如果匹配,它將向右偏移並將縣的值複製到我的活動工作簿中的單元格。我嘗試過每種做法的組合,如果循環和邏輯,但我相信這是我對VBA的天真傷害我。
任何幫助將是偉大的,提前謝謝!
您是否試圖複製整行? 'cll.offset(0,1).EntireRow.Copy'可能工作。現在,你有一個試圖粘貼到「Row」的值。如何讓它被粘貼? – BruceWayne
@BruceWayne我只想複製那個單元格。我已經能夠通過vba獲得該參考,沒有任何問題。然而,我只能將這個值粘貼到一個單元格中,並且當它循環時,它將粘貼到與之前相同的單元格中。這就是爲什麼我想添加代碼片段來查找我想要粘貼的列中最後一個空單元格的原因。 –