0
別のワークシートから列を取得し、その固有の値だけを別のワークシートに列ヘッダーとしてコピーしようとしています。今、私のコードは、reference1の一意の値を作成し、Sheet1に列ヘッダーとしてコピーしようとしますが、何らかの理由で、私の範囲は、reference1データの最初の行をループします(画像は、シート1のヘッダ。 with wsDBステートメントに「Transpose(arrValues)」を配置すると、データの最初の行だけが配置され、with wsDBステートメントに「Transpose(j)」を配置すると、reference1シートの実際の番号付き列が配置されます。別のワークシートからVBAのループされた列ヘッダーに一意のテキストを配置する
Sub uniqueyes()
Dim wsRef As Worksheet
Dim wsDB As Worksheet
Set wsRef = Worksheets("reference1")
Set wsDB = Worksheets("Sheet1")
With wsRef
.Range("F1:F60").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=.Range("I1"), unique:=True
Dim arrValues As Variant
arrValues = .Range("I2", .Range("I" & .Rows.Count).End(xlUp))
End With
For i = 1 To ActiveSheet.Cells(Rows.Count, 4).End(xlUp).Row
If Cells(i, 4) = "Title" Then
For j = 1 To (UBound(arrValues)) Step 1
With wsDB
.Range(.Cells(i, j * 4 + 2), .Cells(i, j * 4 + 4)).Value = Application.WorksheetFunction.Transpose(arrValues)
End With
Next j
End If
Next i
End Sub
私はこれを試しましたが、添え字が範囲外です – beks123