変数の値を改行した状態でエクセル出力する方法
投稿者 (削除されました)  ()
投稿日時
2023/6/6 10:51:39
(削除されました)
投稿者 魔界の仮面弁士  (社会人)
投稿日時
2023/6/6 10:52:47
対象言語は何でしょうか。
VBA ? C#? あるいは VB.NET ?
前提条件があまりにも少なすぎるので、具体的な回答が付けられません。
そのため回答も具体的なものではなく、概要レベルのものになりますが:
> 変数aにAAA 111、BBB 2222、CCC 333333、DDD 44444444、EEE 5555が入っています。
こういうことですか?
> P = A1 ←値を入れるセル番号
> D = a
こういうことですか?
> writExcel(D,P)という記述でA1にaを出力します。
writExcel とは何でしょうか。自作のメソッドのように見えますが、
内部的にはどのような実装になっているのでしょうか。
> ※英語3個+スペース+数字(3~11桁)の組み合わせの値が「、」で区切られ、最大5個入る
「英語」というのは「アルファベット」の誤記とは思いますが、
この条件に合致しているかどうかは、正規表現を使うと簡単に判定・分離できますね。
> 3個目の「、」で改行する方法をご教示ください。
Excel の場合、セル内改行を行うにはデータ中に LF 改行を含めるようにします。
元データに LF を含められないのなら、Excel へ出力する処理の中で
LF を補うようにしてやればよいのではないでしょうか。
VBA ? C#? あるいは VB.NET ?
前提条件があまりにも少なすぎるので、具体的な回答が付けられません。
そのため回答も具体的なものではなく、概要レベルのものになりますが:
> 変数aにAAA 111、BBB 2222、CCC 333333、DDD 44444444、EEE 5555が入っています。
こういうことですか?
Dim a As String 'VBA / VB.NET
a = "AAA 111、BBB 2222、CCC 333333、DDD 44444444、EEE 5555"
> P = A1 ←値を入れるセル番号
> D = a
こういうことですか?
Dim P As String, D As Variant 'VBA
'Dim P As String, D As Object 'VB.NET
P = "A1"
D = a
> writExcel(D,P)という記述でA1にaを出力します。
writExcel とは何でしょうか。自作のメソッドのように見えますが、
内部的にはどのような実装になっているのでしょうか。
> ※英語3個+スペース+数字(3~11桁)の組み合わせの値が「、」で区切られ、最大5個入る
「英語」というのは「アルファベット」の誤記とは思いますが、
この条件に合致しているかどうかは、正規表現を使うと簡単に判定・分離できますね。
> 3個目の「、」で改行する方法をご教示ください。
Excel の場合、セル内改行を行うにはデータ中に LF 改行を含めるようにします。
元データに LF を含められないのなら、Excel へ出力する処理の中で
LF を補うようにしてやればよいのではないでしょうか。
投稿者 魔界の仮面弁士  (社会人)
投稿日時
2023/6/6 10:59:32
> 元データに LF を含められないのなら、Excel へ出力する処理の中で
> LF を補うようにしてやればよいのではないでしょうか。
処理イメージ:
> LF を補うようにしてやればよいのではないでしょうか。
処理イメージ:
a = "AAA 111、BBB 2222、CCC 333333、DDD 44444444、EEE 5555"
a2 = Split(a, "、")
If UBound(a2) > 2 Then
a2(3) = vbLf & a2(3)
End If
Dim a3 As String
a3 = Join(a2, "、")
' 上記 a3 の中身は、下記のように 3 つ目の「、」の後ろに
' LF 改行が含まれた文字列になる。
'
' a3 = "AAA 111、BBB 2222、CCC 333333、" & vbLf _
' & "DDD 44444444、EEE 5555"
※英語3個+スペース+数字(3~11桁)の組み合わせの値が「、」で区切られ、最大5個入る
P = A1 ←値を入れるセル番号
D = a
writExcel(D,P)という記述でA1にaを出力します。
3個目の「、」で改行する方法をご教示ください。
※エクセルでは可能でしたが、出来ればエクセルは変更したくないです。
現在
AAA 111、BBB 2222、CCC 333333、DDD
44444444、EEE 5555
理想
AAA 111、BBB 2222、CCC 333333、
DDD 44444444、EEE 5555