0

特定の条件が満たされるまで、アクティブ セルをオフセットしようとしています。私が書いたことは、

Do While ActiveCell.Value <> Worksheets("Unit B").Range("D1").Value  
    ActiveCell.Offset(0, 1).Select
Loop

これを修正するのを手伝ってもらえますか?


参考のために私のコード全体を与える:

Private Sub CommandButton1_Click()

Dim ddsdata As Range

Dim i As Long
i = 1

Worksheets("Unit B").Select
Set ddsdata = Worksheets("Unit B").Range("E3:E35")
Worksheets("Data Sheet").Select
Worksheets("Data Sheet").Range("E1").Select

Do While ActiveCell.Offset(0, i) <> Worksheets("Unit B").Range("D1").Value
i = i + 1

Loop

ActiveCell.Offset(1, i).Select
ActiveCell.Value = ddsdata
4

1 に答える 1

0

以下のコードを試してください。コードで Select / Activate / ActiveCell を使用しないでください。また、常にシート名でセルを参照してからセルを参照してください。たとえばSheet1.Range("A1")、ワークブックでより良い結果を得ることができます。

Private Sub CommandButton1_Click()

    Dim ddsdata As Range

    Dim i As Long
    i = 1

    Thisworkoook.Activate
    Set ddsdata = Thisworkoook.Sheets("Unit B").Range("E3:E35")

    Do While Worksheets("Data Sheet").Range("E1").Offset(0, i) <> Worksheets("Unit B").Range("D1").Value
            i = i + 1
    Loop

    ActiveCell.Offset(1, i).Select
    ActiveCell.Value = ddsdata

End Sub
于 2013-09-25T13:06:14.377 に答える