はじめまして。
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も見ています
-
これ何て呼びますか Part2
あなたのお住いの地域で、これ、何て呼びますか?
-
フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
あなたが普段思っている「これまだ誰も言ってなかったけど共感されるだろうな」というあるあるを教えてください
-
映画のエンドロール観る派?観ない派?
映画が終わった後、すぐに席を立って帰る方もちらほら見かけます。皆さんはエンドロールの最後まで観ていきますか?
-
海外旅行から帰ってきたら、まず何を食べる?
帰国して1番食べたくなるもの、食べたくなるだろうなと思うもの、皆さんはありますか?
-
天使と悪魔選手権
悪魔がこんなささやきをしていたら、天使のあなたはなんと言って止めますか?
-
Excel、VBA、1行中複数セルにセル内改行、行方向に分割
Excel(エクセル)
-
Excel マクロ VBA 毎回範囲が変わるセル内改行を分割したい
Excel(エクセル)
-
エクセルVBAで、複数セルのデータをひとつのセルに改行してまとめたいのですか・・・
Excel(エクセル)
-
-
4
文字列の結合を空白行まで実行
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
貼り付けで複数セルに貼り付けたい
-
(Excel)数字記入セルの数値の後...
-
Excelで数式内の文字色を一部だ...
-
エクセルの一つのセルに複数の...
-
Excelでのコメント表示位置
-
EXCEL VBA セルに既に入...
-
対象セル内(複数)が埋まった...
-
エクセルでオブジェクトを常に...
-
【Excel】 セルの色での判断は...
-
セルをクリック⇒そのセルに入力...
-
excelの特定のセルの隣のセル指...
-
エクセルの書式設定の表示形式...
-
【エクセル】IF関数 Aまたは...
-
エクセル “13ヶ月”を“1年1ヶ月...
-
エクセル 足して割る
-
Excelで教えてください。 バー...
-
エクセル オートフィルタで絞...
-
エクセルで指定したセルのどれ...
-
セルに特定の色が付いていたら...
-
セルの高さ(行高)を求めるには?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
貼り付けで複数セルに貼り付けたい
-
【エクセル】IF関数 Aまたは...
-
Excelで数式内の文字色を一部だ...
-
エクセルで指定したセルのどれ...
-
(Excel)数字記入セルの数値の後...
-
枠に収まらない文字を非表示に...
-
セルをクリック⇒そのセルに入力...
-
Excelでのコメント表示位置
-
対象セル内(複数)が埋まった...
-
【Excel】 セルの色での判断は...
-
エクセル オートフィルタで絞...
-
エクセル “13ヶ月”を“1年1ヶ月...
-
Excel 例A(1+9) のように番地の...
-
エクセルのセルの枠を超えて文...
-
エクセル 足して割る
-
excelの特定のセルの隣のセル指...
-
エクセルの一つのセルに複数の...
-
Excel for Mac使用中ポインタが...
-
エクセルで住所と建物名を分け...
-
EXCEL VBA セルに既に入...
おすすめ情報