セルの改行で区切られたテキストを分割して最終列まで行いたいのですが、
C2セルは動きますがC3以降連続して動きません。
下記記述のどこがいけないのかご指南いただけませんでしょうか?
よろしくお願いいたします。
Sub 改行を含むセルの値を分割する右()
Dim str
Set str = ActiveCell '対象セルを変数に代入する
With str
Do Until InStr(str, vbLf) = 0 'セルの値の中からVbLfがなくなるまで繰り返す
If .Offset(0, 1).Value <> "" Then '対象セルの右が空白でなければ
.Offset(0, 1).Insert shift:=xlToRight '対象セルの下に空白セルを挿入する
'.Offset(0, 1).EntireRow.Insert shift:=xlToRight ’対象セルの右に空白行を挿入する
End If
.Offset(0, 1).Value = Mid(.Text, InStrRev(.Text, vbLf) + 1)
.Value = Left(.Text, InStrRev(.Text, vbLf) - 1)
Loop
.Offset(1, 0).End(xlToLeft).Select
End With
Set str = Nothing
End Sub
No.2ベストアンサー
- 回答日時:
こんにちは
>C2セルは動きますがC3以降連続して動きません。
ご提示のコードは、行方向には繰り返していないように見えますけれど?
No1様のご指摘のように、Splitを利用するのが簡単だと思います。
以下、ご参考までに。
(上書きしないようB列の値はそのままにして、C列以降に記入するようにしてあります)
Dim rw, s
For rw = 2 To Cells(Rows.Count, 1).End(xlUp).Row
s = Split(Cells(rw, 2).Text, vbLf)
Cells(rw, 3).Resize(, UBound(s) - LBound(s) + 1).Value = s
Next rw
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Visual Basic(VBA) 列と行の名前(重複あり)が交差するセルに、データを入力したい 2 2022/06/25 22:42
- Excel(エクセル) 日付で矢印マクロ 4 2023/07/25 16:47
- Excel(エクセル) VBA 特定の列に入っているテキストをコピペ 2 2023/06/14 11:24
- Visual Basic(VBA) VBAでoutlook365が起動しません。 4 2022/08/25 13:31
- Visual Basic(VBA) VBAが止まります。 3 2022/08/31 14:09
- Excel(エクセル) 並べ替え、ソートの構文がわからない。 お世話になります。VBA超初心者です。 エクセルでワークシート 2 2023/06/28 21:00
- Excel(エクセル) EXCEL マクロで行を挿入して貼り付けようとするとエラーになる。 2 2022/05/24 09:43
- Excel(エクセル) エクセルでの左のセルのコピー 3 2022/07/25 12:31
- Visual Basic(VBA) Sub 分けてソートして貼り付ける() Dim srcSheet As Worksheet Dim 6 2023/08/04 19:57
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ExcelVBAを使って、値...
-
Excelで指定した日付から過去の...
-
特定のセルが空白だったら、そ...
-
VBAでセルをクリックする回...
-
【Excel VBA】指定行以降をクリ...
-
VBからEXCELのセルの値を取得す...
-
i=cells(Rows.Count, 1)とi=cel...
-
特定の文字を条件に行挿入とそ...
-
TODAY()で設定したセルの日付...
-
【Excel】指定したセルの名前で...
-
Excel VBA、 別ブックの最終行...
-
VBAの計算で@が出てしまう件
-
DataGridViewのセル編集完了後...
-
Excelのプルダウンで2列分の情...
-
Excel ユーザーフォームをモー...
-
EXCELのVBA-フィルタ抽出後の...
-
VB6のDataGridコントロールが良...
-
”戻り値”が変化したときに、マ...
-
Sub 要具ライフ() ActiveSheet....
-
RC表示に変数を入れる
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ExcelVBAを使って、値...
-
特定のセルが空白だったら、そ...
-
【Excel VBA】指定行以降をクリ...
-
i=cells(Rows.Count, 1)とi=cel...
-
【Excel】指定したセルの名前で...
-
Excelで指定した日付から過去の...
-
特定の文字を条件に行挿入とそ...
-
Excel VBA、 別ブックの最終行...
-
EXCELで変数をペーストしたい
-
Excelのプルダウンで2列分の情...
-
Excel vbaで特定の文字以外が入...
-
TODAY()で設定したセルの日付...
-
screenupdatingが機能しなくて...
-
DataGridViewの各セル幅を自由...
-
Sub 要具ライフ() ActiveSheet....
-
【EXCEL VBA】Range("A:A").Fi...
-
VBAを使用した時間管理
-
VBAでセルをクリックする回...
-
セル色なしの行一括削除
-
エクセルVBAでコピーして順...
おすすめ情報