

はじめまして。
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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
セルをクリック⇒そのセルに入力...
-
貼り付けで複数セルに貼り付けたい
-
vba テキストボックスとリフト...
-
エクセルの書式設定の表示形式...
-
EXCEL VBA セルに既に入...
-
数式を残したまま、別のセルに...
-
Excelで数式内の文字色を一部だ...
-
枠に収まらない文字を非表示に...
-
(Excel)数字記入セルの数値の後...
-
【Excel】 セルの色での判断は...
-
エクセルの一つのセルに複数の...
-
Excel 例A(1+9) のように番地の...
-
VLOOKUPとハイパーリンクの組み...
-
Excel for Mac使用中ポインタが...
-
エクセル オートフィルタで絞...
-
Excelでのコメント表示位置
-
【エクセル】IF関数 Aまたは...
-
エクセルで指定したセルのどれ...
-
エクセルで、複数の参照範囲を...
-
excelの特定のセルの隣のセル指...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
vba テキストボックスとリフト...
-
貼り付けで複数セルに貼り付けたい
-
エクセルで指定したセルのどれ...
-
枠に収まらない文字を非表示に...
-
セルをクリック⇒そのセルに入力...
-
エクセル
-
数式を残したまま、別のセルに...
-
(Excel)数字記入セルの数値の後...
-
エクセル オートフィルタで絞...
-
エクセルの書式設定の表示形式...
-
Excel 例A(1+9) のように番地の...
-
エクセルの一つのセルに複数の...
-
excelの特定のセルの隣のセル指...
-
EXCEL VBA セルに既に入...
-
Excelでのコメント表示位置
-
エクセルのセルの枠を超えて文...
-
【エクセル】IF関数 Aまたは...
-
対象セル内(複数)が埋まった...
-
Excelで数式内の文字色を一部だ...
-
【Excel】 セルの色での判断は...
おすすめ情報