

はじめまして。
ExcelのVBA初心者で、ちょっと困っています。
(例)
(1) セルA1に以下のような改行された文字列が入力されています。
【セルA1】
a
aa
aaa
b
bb
bbb
(2) セルA1内の文字列を3行毎に分割し、セルA2以降に表示させたい。
【セルA2】
a
aa
aaa
【セルA3】
b
bb
bbb
※ 今回の例ではセルA1に6行しかありませんが、実際に行数は決まっていません。
そこで以下のようなVBAを見よう見まねで作り、1行毎の分割はうまくいったのですが、『3行毎に分割』ができません。
Sub 分割()
Dim A, B, C
A = Split(Range("A1"), Chr(10))
B = 0
For Each C In A
B = B + 1
Range("A2").Offset(B - 1, 0).Value = C
Next
End Sub
ご教授いただけると助かります。
よろしくお願い致します。
No.1ベストアンサー
- 回答日時:
Sub 分割()
Dim A, B, C, E
A = Split(Range("A1"), Chr(10))
B = 1
E = 1
For Each C In A
If E = 1 Then
Range("A2").Offset(B - 1, 0).Value = C
Else
Range("A2").Offset(B - 1, 0).Value = _
Range("A2").Offset(B - 1, 0).Value & Chr(10) & C
End If
If E = 3 Then
B = B + 1
E = 0
End If
E = E + 1
Next
End Sub
でどうでしょう。
No.3
- 回答日時:
#2です。
ごめんなさい、この方が、良いかも。Sub divide()
Dim A, B, C, D
A = Split(Range("A1"), Chr(10))
B = -1
For Each C In A
B = B + 1
Set D = Cells(1, Int(B / 3) + 2)
If ((B Mod 3) = 0) Then D.Value = ""
D.Value = D.Value & Chr(10) & C
Next
End Sub
はじめまして。
得られる結果は同じでも、色々な書き方があるのだと改めて感じました。
大変勉強になりました。ありがとうございました。
No.2
- 回答日時:
同じですが・・・
Sub divide()
Dim A, B, C
A = Split(Range("A1"), Chr(10))
B = -1
For Each C In A
B = B + 1
If ((B Mod 3) = 0) Then Cells(1, Int(B / 3) + 2).Value = ""
Cells(1, Int(B / 3) + 2).Value = Cells(1, Int(B / 3) + 2).Value & Chr(10) & C
Next
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excleマクロ セル値の代入と文字列の結合について 3 2022/10/05 16:47
- Visual Basic(VBA) 複数csvを横に追加していくマクロについて 2 2023/04/25 09:19
- Excel(エクセル) 【マクロ】ボタンを押すごとに、A1セル、A2セル、A3セルに日付を入力 3 2023/01/25 00:12
- Excel(エクセル) 関数EXACT(文字列,文字列)とexcelVBA 3 2022/04/14 15:07
- Visual Basic(VBA) エクセルのマクロで対象ごとにシート分けしてその内容をセルに書き込みたい 9 2022/08/24 13:23
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
- Excel(エクセル) 並べ替え、ソートの構文がわからない。 お世話になります。VBA超初心者です。 エクセルでワークシート 2 2023/06/28 21:00
- Excel(エクセル) Excelのマクロで、特定のセルから順番に値を取得したい 5 2022/12/06 15:34
- Excel(エクセル) エクセルVBAでセルに表示されているとおりの数値を取得したい(時間の計算結果) 1 2022/03/30 17:52
- Excel(エクセル) Vba エクセルマクロで、 A列の、A1セルからA10セルに空白のある行を削除する、のは Range 3 2022/11/05 17:44
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
vba テキストボックスとリフト...
-
貼り付けで複数セルに貼り付けたい
-
数式を残したまま、別のセルに...
-
(Excel)数字記入セルの数値の後...
-
枠に収まらない文字を非表示に...
-
エクセル オートフィルタで絞...
-
Excel 例A(1+9) のように番地の...
-
エクセルの一つのセルに複数の...
-
エクセルの書式設定の表示形式...
-
エクセルで指定したセルのどれ...
-
【エクセル】IF関数 Aまたは...
-
セルをクリック⇒そのセルに入力...
-
Excelでのコメント表示位置
-
【Excel】 セルの色での判断は...
-
excelの特定のセルの隣のセル指...
-
エクセルで、複数の参照範囲を...
-
対象セル内(複数)が埋まった...
-
エクセルで住所と建物名を分け...
-
ハイパーリンクの参照セルのズ...
-
エクセルでオブジェクトを常に...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelについての質問です 並べ...
-
【マクロ】アクティブセルの2...
-
スプレッドシートで複数のプル...
-
excelで日付関数の文字列変換の...
-
エクセルで指定したセルのどれ...
-
貼り付けで複数セルに貼り付けたい
-
枠に収まらない文字を非表示に...
-
セルをクリック⇒そのセルに入力...
-
エクセルの一つのセルに複数の...
-
数式を残したまま、別のセルに...
-
(Excel)数字記入セルの数値の後...
-
Excel 例A(1+9) のように番地の...
-
対象セル内(複数)が埋まった...
-
エクセルの書式設定の表示形式...
-
EXCEL VBA セルに既に入...
-
excelの特定のセルの隣のセル指...
-
エクセルのセルの枠を超えて文...
-
Excelでのコメント表示位置
-
エクセル オートフィルタで絞...
-
Excelで数式内の文字色を一部だ...
おすすめ情報