マクロは、すべての列で実行されるように、どのように私は、Excel VBAで自動的にセル参照を増やすことができますか?

Cdurell:

私は、ブック内の参照の特定の細胞そのマクロを持っているので。どのように私はこのマクロは、手動でセル参照50回を入力せずに次の50列に繰り返すことができますか?

私はExcelの数式を使用していたとVBA私はクリックしてドラッグできない場合は、自動的に次の列に数式を繰り返します。私は$絶対$参照として定義するのと同じままにしたいセル参照。しかし、VBAで、私はどのように行うのか分かりません。

ここでは、コードは次のようになります。

If Worksheets("Enter Data Here").Range("D11") = "" Then
    Worksheets("SDS").Range("R5") = Worksheets("SDS").Range("R5") & ""

ElseIf Worksheets("Enter Data Here").Range("D11") = "/" Then
    Worksheets("SDS").Range("R5") = Worksheets("SDS").Range("R5") & ";" & Worksheets("Enter Data Here").Range("D10")

ElseIf Worksheets("Enter Data Here").Range("D11") = "//" Then
    Worksheets("SDS").Range("R5") = Worksheets("SDS").Range("R5") & ";" & Worksheets("Enter Data Here").Range("D10") & "x2"

ElseIf Worksheets("Enter Data Here").Range("D11") = "///" Then
    Worksheets("SDS").Range("R5") = Worksheets("SDS").Range("R5") & ";" & Worksheets("Enter Data Here").Range("D10") & "x3"


End If

ワークシート(「SDS」)。レンジ(「R5」)は、絶対セル参照であると変わりませんが、私はそれを入力することなく、次の列に沿ってシフトする他人をしたいと思います。例えばDはF.その後、Eとなり

これを行う方法を省力化がなければなりません。たぶんループ?

乾杯。

SJR:

これを試して。

Sub x()

Dim r1 As Range, i As Long

Set r1 = Worksheets("Enter Data Here").Range("D11") 'define starting cell

For i = 1 To 50 'repeat this 50 times
    With Worksheets("SDS").Range("R5")
        If r1 = "" Then
             .Value = .Value & "" 'not sure what purpose this serves
        ElseIf r1.Value = "/" Then
            .Value = .Value & ";" & r1.Offset(-1).Value
        ElseIf r1.Value = "//" Then
            .Value = .Value & ";" & r1.Offset(-1).Value & "x2"
        ElseIf r1.Value = "///" Then
            .Value = .Value & ";" & r1.Offset(-1).Value & "x3"
        End If
    End With
    Set r1 = r1.Offset(, 1) 'move to cell to the right, E11, F11 etc
Next i

End Sub

おすすめ

転載: http://10.200.1.11:23101/article/api/json?id=400117&siteId=1