我有這樣的代碼,可以作業,但我需要將資料復制到特定的列。
如何從陣列中分配 "到 "列?例如,來自Sheets("Dataset")D列的值最終會進入Sheets("Forside")B列。
非常感謝您的幫助
。sub filtercopyrange()
Dim x As Long, cls
Dim iCount As Integer, cls
Dim sh1 As 作業表,sh2 As 作業表
Dim valuee1 As IntegerDim lRow2 As Long
Dim i As Integer
Dim ct As Variant
Set sh1 = Sheets("Dataset"/span>)
Set sh2 = Sheets("Forside")
張("Forside").激活
Application.ScreenUpdating = False。
Range("A7:Y5000").清除
valuee1 = Sheets("Forside").Range("E2") .Value
If IsNumeric(valuee1) = False Then
Exit Sub
Else[/span
lRow2 = sh1.Cells(Rows.Count, "A"/span>).End(xlUp).Row
張("資料集").激活
valuee1 = Sheets("Forside").Range("E2") 的值
iCount = 6.
For i = 2 To lRow2
ct = Range("L" & i).Value
If ct = valuee1 Then
iCount = iCount 1
cls = Array("A"/span> & i, "D"/span> & i, "E"/span> & i, "F"/span> & i, "G"/span> & i, "H"/span> & i, "I"/span> & i, "J"/span> & i, "R" & i, "S" & i)
With Sheets("Forside")
For x = LBound(cls) To UBound(cls)
.Cells(iCount, x 1).Value = Sheets("Dataset") .Range(cls(x)).Value
Next x
結束 有
Else
End If
下一個 下一個
張("Forside").激活
Application.ScreenUpdating = True.
結束 If
End Sub
uj5u.com熱心網友回復:
如果你想在一列中復制陣列內容,而不是在一行中復制,請嘗試下一個方法:
Dim strCol as string, iRow as Long, i as Long, lRow2 as Long, ct as string, valuee1 as string.
'使用與你的(未完全看到的)代碼中相同的變數值...。
strCol = "C" '列 "C:C"
iRow = 2 '列的行,從陣列中的元素將被復制下來。
For i = 2 To lRow2
ct = Range("L" & i).Value
If ct = valuee1 Then
iCount = iCount 1
cls = Array("A"/span> & i, "D"/span> & i, "E"/span> & i, "F"/span> & i, "G"/span> & i, "H"/span> & i, "I"/span> & i, "J"/span> & i, "R" & i, "S" & i)
With Sheets("Forside")
For x = LBound(cls) To UBound(cls)
.Cells(x iRow 1, strCol).Value = Sheets("Dataset") .Range(cls(x)).Value
Next x
結束 有
結束 If
下一步
上面的代碼將從iRow(2,現在)開始復制C:C列的每個陣列元素。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/332447.html
標籤:
