私は VBA の初心者で、数字のブロックを移動するためのクイック マクロを作成するのに苦労しています。
私が作成しようとしているのは、押されたときに次のボタンです。
(i,5) の内容を E63 に移動します。
(i, 16) から F67:F110 までのセル
行 10 に「低」または「高」が含まれているかどうかに応じて、3 つのセルをセット N106:N109 からセル (i12:i14) に移動します [ここで、i は列参照です)。
コードの Range セクションはこれを達成するものであり、正常に動作しています。私が抱えている問題は、Do.Until 行と参照 Column(i) にあります。
これがどのように機能するか知っている人はいますか?ありがとう
更新 Siddharth の助けのおかげで、Range 関数に文字列がある行である 1 ビットを除くすべてを修正できました。ここで .Formula を使用せず、代わりに Paste を使用する理由は、そうしないと、セル A12:A14 から Z12:Z14 までのすべてのセルが同じものになり、正しくないからです。他の部分では問題ありません。これらの回線でタイプ 13 の不一致エラーが発生します。
Sub Columntest()
Dim i As Integer
i = 5
Do Until Cells(5, i).Value = ""
If Cells(10, i).Value = "Low" Then
Range("E63").Formula = Cells(5, i)
Range("F67:F110").Formula = Cells(16, i)
Range("O106:O108").Copy
Range("=" & Columns(i) & "12").PasteSpecial Paste:=xlPasteValues
End If
If Cells(10, i).Value = "High" Then
Range("E63").Formula = Cells(5, i)
Range("F67:F110").Formula = Cells(16, i)
Range("N106:N108").Copy
Range(Columns(i) & "12").PasteSpecial Paste:=xlPasteValues
End If
i = i + 1
Loop
サブ終了