2016-05-31 6 views
0

私は数字をconatinsするセル(A1)を持っています。 A1 = 4.これは、シートから列を4回クローンする必要があることを意味します。列をクローンしますが、式もVBAで移動する必要があります。

非常に簡単ですが、クローン列のセルにも数式が含まれている可能性があります。これはクローンの数だけシフトする必要があります。ここでは例を示します。

列に= A1が含まれている場合、最初のクローンにはB1、次のクローンにはC1などが含まれている必要があります。

Private Sub Worksheet_Change(ByVal Target As Range) 
If Target.Address = "$A$1" Then 
    For i = 0 To Target 
     ActiveWorkbook.Sheets("Sheet1").Columns(3).Copy Destination:=Sheets("Sheet1").Columns(i) 'Columns(3) is the column that I am cloning 
    Next i 
End If 

End Subの

をどのように私はこの問題を解決する必要があります:シフトなし

コピースクリプト?

答えて

0

あなたが式(たとえば= A1)を持っている場合は、列が自動的にシフトしている、あなたは異なる動作をする場合は、列または行の前に$を使用します。

あなたは= $ A1を記述する場合、列は常に同じままですが行は変更可能 = A $ 1と書くと列は変わりますが行は同じままです = $ A $ 1と書くと、列と行の両方が同じになる

私の例は次のとおりです。A1では、数式= A2を使用します。私はA2に5を入力したので、A1にも5が表示されます。今、私はこのコードを実行しました:今B1は、式= B2を持っている

Dim i As Integer 

For i = 1 To 4 Step 1 

    Cells(1, 1).EntireColumn.Copy Destination:=Cells(1, i).EntireColumn 
Next i 

あなたは= $ A $ 2と入力し、式を変更したくない場合は、C1は= C2とD1は= D2

を持っていますA1に

これは何とか助けてください

+0

ありがとうございました!なぜ私はそれについて考えなかったのか分かりません! – Twi

関連する問題