VBAのExcelマクロ2016。あるシートから別のシートに、8つの別々の列から異なる順序でコピーする必要があります。試しましたが、貼り付けは常に同じ列Aで行われます。
コードは次で始まります:
Sub Button1_Click()
Dim ultima_fila As Long
Dim rango, columna As String
Sheets("Validation by rules").Select
ultima_fila = Cells(Rows.Count, 1).End(xlUp).Row
' TableName
columna = "A"
rango = columna & "1:" & columna & CStr(ultima_fila)
MsgBox rango
range(rango).Copy
Sheets("TMP").Paste
'TableField
columna = "B"
rango = columna & "1:" & columna & CStr(ultima_fila)
MsgBox rango
range(rango).Copy
Sheets("TMP").Paste
しかし、マクロに2回目にBに貼り付けるように指示する方法がわかりません...?または他のところで...
また、コードのコピー/貼り付けを回避するためにForループを試しましたが、成功しませんでした...次のようなものです。
(A、B、C、F、G、R、S、T)のXの場合
運もありません...
どうもありがとう!
どこに貼り付けるかをコードに指示していません:Sheets("TMP").Paste
。シートに名前を付けるだけで、列には名前を付けません。
また、ループを使用して、同じものを再入力し続ける必要がないようにします。
Sub Button1_Click()
Dim ultima_fila As Long
Dim columnOrd As Variant
columnOrd = Array("A", "B", "C", "G", "F", "R", "S", "T")
With Sheets("Validation by rules")
ultima_fila = .Cells(.Rows.Count, 1).End(xlUp).Row
Dim i As Long
For i = 1 To 8
MsgBox .Range(.Cells(1, columnord(i - 1)), .Cells(ultima_fila, columnord(i - 1))).Address
.Range(.Cells(1, columnord(i - 1)), .Cells(ultima_fila, columnord(i - 1))).Copy Destination:=Sheets("TMP").Cells(1, i)
Next i
End With
End Sub
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加