0

ループのように見えるスクリプトを書きたいと思います。私のデータは列Aの下にあります。

  1. スクリプトを列Bに入れたい.eg B2 = A2
  2. B3 の下に「xxxx」を入力し、B4 の下に「yyyy」を入力してから、データの終わりまでステップ 1 と 2 を繰り返します。

これまでのところ、私は以下を持っています。もう何百回も入力する必要があるので、どうすればループできますか....ありがとう。

Sub DATA()

Dim DL As Long
Dim Script1 As String
Dim Script2 As String

DL = Range("A" & Rows.Count).End(xlUp).Row
Script1 = "KEY END"
Script2 = "KEY WAIT"

Range("B2").Value = Range("A2")
Range("B3").Value = Script1
Range("B4").Value = Script2

Range("B5").Value = Range("A3")
Range("B6").Value = Script1
Range("B7").Value = Script2

Range("B8").Value = Range("A4")
Range("B9").Value = Script1
Range("B10").Value = Script2   

End Sub
4

2 に答える 2

0
Sub tgr()

    Dim arrData() As Variant
    Dim varAcell As Variant
    Dim strScript1 As String
    Dim strScript2 As String
    Dim DataIndex As Long
    Dim i As Long

    strScript1 = "KEY END"
    strScript2 = "KEY WAIT"

    With Range("A2", Cells(Rows.Count, "A").End(xlUp))
        If .Row < 2 Then Exit Sub   'No data
        ReDim arrData(1 To .Rows.Count * 3)
        For Each varAcell In .Value
            For i = 1 To 3
                DataIndex = DataIndex + 1
                arrData(DataIndex) = Choose(i, varAcell, strScript1, strScript2)
            Next i
        Next varAcell
    End With

    Range("B2").Resize(UBound(arrData)).Value = Application.Transpose(arrData)

    Erase arrData

End Sub

[編集]

@KazJaw の場合:

VBA 消去ステートメント

于 2013-08-30T16:13:28.447 に答える