Excel VBA 質問スレッド №2132 (未解決)
マクロ(VBA)を用いた演出
投稿者 : 転職者 投稿日時 : 2025/07/01(Tue) 21:20:14 OS : 未指定 EXCEL : 未指定
初めまして。
以下はサンプルです。
ExcelのA1セルに、以下の「」内の文章を記入しています。
「JAHISTC08,1CRLF
1, 和田 桃,1,19580303,,,,,,,CRLF
5,R020410,1CRLF
11,株式会社 薬局 駅前店,13,4,1234567,,,
,1CRLF
51, 工病院,13,1,1234567,1CRLF
201,1,コリオパンカプセル5mg,6,C,2,620004992,1,,,CRLF
201,1,フェロベリン配合錠,6,錠,2,620425801,1,,,CRLF
301,1,【分3 毎食後服用】,5,日分,1,1,,1CRLF
201,2,アドソルビン原末,1.5,g,2,620008284,1,,,CRLF
201,2,(局)タンナルビン「ホエイ」,1.5,g,2,612310013,1,,,CRLF
201,2,レベニン散,2,g,2,620007148,1,,,CRLF
301,2,【分3 毎食後服用】,5,日分,1,1,,1CRLF
201,3,イソジンガーグル液7%,60,ml,2,620008969,1,,,CRLF 301,3,【1日3~4回 うがい】,1,調剤,5,1,,1CRLF
201,4,ノボラピッド注 ペンフィル 300単位,2,筒,2,620008894 ,1,,,CRLF
301,4,【1日2回 朝14単位 夕6単位】,1,調剤,4,1,
,1CRLF
201,5,ペンニードル30G/8mm(ノボ),60,本,2,710010093,1,,,CRLF 301,5,,1,調剤,9,1,,1CRLF
201,6,容器,1,個,1,,1,,,CRLF
301,6,,1,調剤,10,1,,1CRLF 」
これをB1にマクロを用いて記載できるように、以下の「」内のお薬手帳イメージにするにはどうしたらいいですか?どなたか助けてください。生成AIに聞いても分かりません。
「2020/04/10 和田 桃さんのお薬
工病院
コリオパンカプセル5mg 6C
フェロベリン配合錠 6錠
【分3 毎食後服用】 ✖️5日分
アドソルビン原末 1.5g
(局)タンナルビン「ホエイ」 1.5g
レベニン散 2g
【分3 毎食後服用】 ✖️5日分
イソジンガーグル液7% 60ml
【1日3~4回 うがい】 ✖️1調剤
ノボラピッド注 ペンフィル 300単位 2筒
【1日2回 朝14単位 夕6単位】 ✖️1調剤
ペンニードル30G/8mm(ノボ) 60本
✖️1調剤
容器 1個
✖️1調剤
株式会社 薬局 駅前店
初めまして。
以下はサンプルです。
ExcelのA1セルに、以下の「」内の文章を記入しています。
「JAHISTC08,1CRLF
1, 和田 桃,1,19580303,,,,,,,CRLF
5,R020410,1CRLF
11,株式会社 薬局 駅前店,13,4,1234567,,,
,1CRLF
51, 工病院,13,1,1234567,1CRLF
201,1,コリオパンカプセル5mg,6,C,2,620004992,1,,,CRLF
201,1,フェロベリン配合錠,6,錠,2,620425801,1,,,CRLF
301,1,【分3 毎食後服用】,5,日分,1,1,,1CRLF
201,2,アドソルビン原末,1.5,g,2,620008284,1,,,CRLF
201,2,(局)タンナルビン「ホエイ」,1.5,g,2,612310013,1,,,CRLF
201,2,レベニン散,2,g,2,620007148,1,,,CRLF
301,2,【分3 毎食後服用】,5,日分,1,1,,1CRLF
201,3,イソジンガーグル液7%,60,ml,2,620008969,1,,,CRLF 301,3,【1日3~4回 うがい】,1,調剤,5,1,,1CRLF
201,4,ノボラピッド注 ペンフィル 300単位,2,筒,2,620008894 ,1,,,CRLF
301,4,【1日2回 朝14単位 夕6単位】,1,調剤,4,1,
,1CRLF
201,5,ペンニードル30G/8mm(ノボ),60,本,2,710010093,1,,,CRLF 301,5,,1,調剤,9,1,,1CRLF
201,6,容器,1,個,1,,1,,,CRLF
301,6,,1,調剤,10,1,,1CRLF 」
これをB1にマクロを用いて記載できるように、以下の「」内のお薬手帳イメージにするにはどうしたらいいですか?どなたか助けてください。生成AIに聞いても分かりません。
「2020/04/10 和田 桃さんのお薬
工病院
コリオパンカプセル5mg 6C
フェロベリン配合錠 6錠
【分3 毎食後服用】 ✖️5日分
アドソルビン原末 1.5g
(局)タンナルビン「ホエイ」 1.5g
レベニン散 2g
【分3 毎食後服用】 ✖️5日分
イソジンガーグル液7% 60ml
【1日3~4回 うがい】 ✖️1調剤
ノボラピッド注 ペンフィル 300単位 2筒
【1日2回 朝14単位 夕6単位】 ✖️1調剤
ペンニードル30G/8mm(ノボ) 60本
✖️1調剤
容器 1個
✖️1調剤
株式会社 薬局 駅前店
スポンサーリンク
[返信 1] Re : マクロ(VBA)を用いた演出
投稿者 : てらてら 投稿日時 : 2025/07/02(Wed) 06:06:41
こんにちは。
A1セルからB1セルに変換するのではなく、
最初のCSVをSheet1に転記してから、Sheet2に変換するのがExcelっぽい使い方だと思います。
こんにちは。
A1セルからB1セルに変換するのではなく、
最初のCSVをSheet1に転記してから、Sheet2に変換するのがExcelっぽい使い方だと思います。
[返信 2] Re : マクロ(VBA)を用いた演出
投稿者 : tek 投稿日時 : 2025/07/02(Wed) 08:16:23
質問です。
A1セルのデータ行末のCRLFは"CRLF"と言う文字ですか?それとも改行という意味ですか?
変換ルールを教えてください。
要素とはA1セルデータの各行を","でSplitしたときの何番目の配列かを表してます。
1行目 2020/04/10 和田 桃さんのお薬
・2020/04/10
要素0が5の要素1のR020410から生成するのですか?
Rを2に変えて/を日付の様に追加すれば良いのですか?
・和田 桃さんのお薬
要素0が1の要素1から生成するのですか?
2行目 工病院
要素0が51の要素1から生成するのですか?
3行目 コリオパンカプセル5mg 6C
4行目フェロベリン配合錠 6錠
要素0が201の要素2と要素3と要素4から生成するのですか?
要素2と要素3の間のスペース数はどのような基準ですか?
先頭にスペースを入れる入れないの基準は何ですか?
5行目 【分3 毎食後服用】 ✖️5日分
要素0が301の要素2と要素3と要素4から生成するのですか?
15行目 ✖️1調剤
A1セルデータに改行が無い場合もあるのですか?
最初の質問に戻りますが、"CRLF"を改行と考えれば良いのですか?
質問です。
A1セルのデータ行末のCRLFは"CRLF"と言う文字ですか?それとも改行という意味ですか?
変換ルールを教えてください。
要素とはA1セルデータの各行を","でSplitしたときの何番目の配列かを表してます。
1行目 2020/04/10 和田 桃さんのお薬
・2020/04/10
要素0が5の要素1のR020410から生成するのですか?
Rを2に変えて/を日付の様に追加すれば良いのですか?
・和田 桃さんのお薬
要素0が1の要素1から生成するのですか?
2行目 工病院
要素0が51の要素1から生成するのですか?
3行目 コリオパンカプセル5mg 6C
4行目フェロベリン配合錠 6錠
要素0が201の要素2と要素3と要素4から生成するのですか?
要素2と要素3の間のスペース数はどのような基準ですか?
先頭にスペースを入れる入れないの基準は何ですか?
5行目 【分3 毎食後服用】 ✖️5日分
要素0が301の要素2と要素3と要素4から生成するのですか?
15行目 ✖️1調剤
A1セルデータに改行が無い場合もあるのですか?
最初の質問に戻りますが、"CRLF"を改行と考えれば良いのですか?
[返信 3] Re : マクロ(VBA)を用いた演出
投稿者 : さんこう 投稿日時 : 2025/07/02(Wed) 08:18:52
>これをB1にマクロを用いて記載
改行で分割した各行の文字列について「,」で分割してから、必要なところを結合したらよろしいかと思います。
雑なサンプルです。参考になれば。
>これをB1にマクロを用いて記載
改行で分割した各行の文字列について「,」で分割してから、必要なところを結合したらよろしいかと思います。
雑なサンプルです。参考になれば。
Sub Test() s = Range("A1") v1 = Split(s, vbLf) s1 = Split(v1(1), ",")(1) & "様" & vbLf For i = 6 To UBound(v1) v2 = Split(v1(i), ",") s1 = s1 & v2(2) & " --- " & v2(3) & v2(4) s1 = s1 & vbLf '参考として For j = 0 To UBound(v2) Cells(i + 2, j + 3) = v2(j) Next Next s1 = s1 & Split(v1(3), ",")(1) Range("B1") = s1 End Sub
当掲示板について
- Excel VBA に関する掲示板です。Excel VBA に関する質問や疑問、それに対する解決方法など気軽に投稿してください。
- 記事内ではHTMLのタグは使用できません。
- 記事は一度投稿すると修正できません。内容を訂正したい場合は返信で対応してください。
- Sub〜End Sub、Function〜End Function は自動的にプログラムコードとみなし、枠で囲って見やすくします。
- Excel VBA とは関係ないことや、他人が不快に思うようなことなど、管理人が適当でないと判断した記事は削除する場合があります。
スポンサーリンク
返信入力フォーム
( 処理日時 : 2025-07-04 14:11:25 )