下の行に入れて「:」下記のように:VBA - スプリットセルの値と、私は後の最後の行のセルを分割するコードを探しています
前に
は
後これまでの分割データは、次のようになります - しかし、それは最初のセルだけのために働く:
Sub test()
Dim ws As Worksheet
Set ws = Sheets("Sheet3")
Dim fullstring As String, colonposition As Integer, j As Integer, LastRow As Long, FirstRow As Long
Dim lRow As Long, lCol As Long
lRow = Cells(Rows.Count, 1).End(xlUp).Row
lCol = Cells(1, Columns.Count).End(xlToLeft).Column
For j = 1 To 3
fullstring = Cells(lRow, lCol).Value
colonposition = InStr(fullstring, ":")
Cells(lRow, j).Value = Left(fullstring, colonposition - 1)
lRow = lRow + 1
Cells(lRow, j).Value = Mid(fullstring, colonposition + 1)
Next
End Sub
は、私は同様の問題を発見した(解答付き)hereが、
任意の提案が高く評価最後の行にのみ、それを適用するために管理することはできません!私は各文のでRangeメソッドを使用して好む
おかげで、それlooke私のデータのサンプルで良いですが、それは反転されているようです:前半はセルに残り、後半は下のセルに入るべきです。どのようにそれを調整するつもりですか? – pdx
ありがとう!なぜ私はそれを実行しようとすると、私は時々 '範囲外の添え字'を取得するように任意のアイデア? – pdx
セルの値に区切り文字(この場合は ":")が含まれているかどうかを確認する必要があります。 InStrでチェックし、戻り値が-1より大きいかどうかをチェックします。 – holmicz