2016-10-06 3 views
0

テキストボックスに複数の行を入力し、Excelの単一列の異なる行に各値を表示しようとしています。列の異なる行にある値。コードは次のとおりです複数の行をテキストボックスに入力し、それぞれの値を1つの列の異なる行に表示する

Private Sub CommandButton1_Click() 
    Dim i As Variant 
    For Each i In Split(TextBox1.Text, vbCrLf) 
     With Range("A1") 
      lastrow = ThisWorkbook.Worksheets("sheet1").Range("A" & Rows.Count).End(xlUp).Row + 1 
      ThisWorkbook.Worksheets("sheet1").Range("A" & lastrow).Value = TextBox1.Value 
     End With 
    Next 
    TextBox1.Text = "" 
End Sub 

お願いします。私はそれを正しく理解し、あなたが独自の行にあるテキストボックスに各ラインを持つようにしたい場合は、あなたの応答は非常に

答えて

0

を理解されるであろうので、これは

Private Sub CommandButton1_Click() 

Dim i As Variant 
Dim rowCounter As Long 
    rowCounter = 1 
    For Each i In Split(TextBox1.Text, vbCrLf) 
     'start at row 1 column A 
     Cells(rowCounter, 1).Value = i 
     rowCounter = rowCounter + 1 
    Next 
    TextBox1.Text = "" 
End Sub 
+0

おかげトーマスは完全にうまく – Amir

0

を働くだろう反復処理する必要はありません。 Splitは、すべての行を一度に満たすために使用できる配列を返します。

enter image description here

Private Sub CommandButton1_Click() 
    Dim Target As Range 
    Dim Data As Variant 

    If TextBox1.Text = "" Then Exit Sub 
    Data = Split(TextBox1.Text, vbCrLf) 

    With Worksheets("sheet1") 
     Set Target = .Range("A" & .Rows.Count).End(xlUp) 
     If Target.Value <> "" Then Set Target = Target.Offset(1) 

     Target.Resize(UBound(Data) + 1).Value = Application.Transpose(Data) 
    End With 

    TextBox1.Text = "" 
End Sub 
+0

を動作しますが、それは私がやろうとしたまさにです、ありがとう – Amir

関連する問題