[英]Invalid procedure call or argument in excel vba
我在工作表Sheet1的column1上使用唯一的no過濾器,從z列獲取過濾后的值到數組(arr)對象中,並將這些值作為字符串粘貼到“儀表板”工作表的一個單元格中。 對工作表1列1上的所有唯一值重復此過程。 我遇到多個錯誤1. Join()方法中出現“無效的過程調用或參數”。 2.將值放入rng對象和數組。 我可以在這個問題上向您尋求幫助嗎? 非常感謝。
Dim d As Object, c As Range, k, tmp As String
Dim TestRg As Range
Dim arr() As Variant
Dim i As Integer
Dim myCell As Range
Dim rng As Range
i = 2
Set d = CreateObject("scripting.dictionary")
Columns(1).Select
For Each c In Selection
tmp = Trim(c.Value)
If Len(tmp) > 0 Then d(tmp) = d(tmp) + 1
Next c
For Each k In d.Keys
If IsNumeric(k) Then
Set TestRg = Range("A1:AQ" & LastRow(ActiveSheet))
TestRg.AutoFilter Field:=1, Criteria1:=k, Operator:=xlFilterValues
LasRow = ActiveSheet.UsedRange.Rows(ActiveSheet.UsedRange.Rows.Count).Row
Set rng = ActiveSheet.Range("Z1" & ":" & "Z" & LasRow).SpecialCells(xlCellTypeVisible)
rng.Activate
arr = rng.Value
Worksheets("Dashboard").Range("A" & i) = k
Worksheets("Dashboard").Range("E" & i).Resize(UBound(arr, 1)).Value = Join(arr, " ")
i = i + 1
Erase arr
End If
Next k
至於您的帖子正在尋求幫助的錯誤,它來自:
Worksheets("Dashboard").Range("E" & i).Resize(UBound(arr, 1)).Value = Join(arr, " ")
因為arr
是一個兩個 維陣列,同時加入()函數需要一個一 維一個
然后,您應該:
將arr聲明為簡單的變體:
Dim arr As Variant
以某種方式填充它以生成一維數組
arr = Application.Transpose(rng.Value)
除此之外,在我看來您的代碼還有更多問題
您可能要先修復此錯誤,然后,如果確實出現了這些問題,而又無法解決,請撰寫新的帖子
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.