• ベストアンサー

vba split関数 コンマ区切り

エクセル・vbaに不慣れなためわかりづらかったら申し訳ありません。 コンマ区切りの数字をsplit関数で分割して指定セルに表示したいと考えており、以前質問し回答をいただいた内容でやりたいことが出来るようになりました。 ただし、若干出力場所等の変更を行いたいのですが、変更することが出来ません。 以前はA~C列にあるものをE~H列・J~M列・O~R列に表示する。 その際、A~C列にあるコンマ区切りの数字は3つのものと4つのものがあります。画像の上段部分をご確認ください。 その際のマクロは下記のとおりです。 Sub Test() Dim i As Long, j As Long, k As Long Dim tmp As Variant For i = 1 To 3 For j = 3 To 11 tmp = Split(Cells(j, i).Value, ",") For k = 0 To UBound(tmp) If k < 4 Then Cells(j, i).Offset(0, i * 4 + k).Value = tmp(k) End If Next Next Next End Sub 変更したいのは、AC8~AE16にコンマ区切りの数字があります。 AC列にある数字はAI8~AL16にAD列にある数字はAS8~AV16に AE列にある数字はBC8~BF16に表示したいと考えています。 コンマ区切りの数字は3つのものと4つのものがあります。 (画像の下段部分をご確認ください。) 上記のマクロでは下記の部分を変更する必要なのかと考えていますが、変更方法がわかりません。 お分かりの方教えていただけたら幸いです。 どうぞよろしくお願いいたします。 For k = 0 To UBound(tmp) If k < 4 Then Cells(j, i).Offset(0, i * 4 + k).Value = tmp(k)

質問者が選んだベストアンサー

  • ベストアンサー
  • kkkkkm
  • ベストアンサー率66% (1713/2583)
回答No.3

> 下記の認識で間違えありません。 > > > AC列にある数字はAI8~AL16にAD列にある数字はAS8~AV16に > > AE列にある数字はBC8~BF16に表示したいと考えています。 > > こちらを採用しています。 回答No.1もしくは回答No.2のどちらでもいけると思いますので試してみてください。

すると、全ての回答が全文表示されます。

その他の回答 (2)

  • kkkkkm
  • ベストアンサー率66% (1713/2583)
回答No.2

こちらのほうが分かりやすいでしょうか。 Sub Test2() Dim mRng As Range Dim i As Long Dim tmp As Variant For Each mRng In Range("AC8:AE16") tmp = Split(mRng.Value, ",") For i = 0 To UBound(tmp) If i < 4 Then Cells(mRng.Row, "AC").Offset(0, 6 + ((mRng.Column - Columns("AC").Column) * 10) + i).Value = tmp(i) End If Next Next End Sub

すると、全ての回答が全文表示されます。
  • kkkkkm
  • ベストアンサー率66% (1713/2583)
回答No.1

添付画像の色付きのセルn範囲と説明のセル範囲が違いますが説明の方 > AC列にある数字はAI8~AL16にAD列にある数字はAS8~AV16に > AE列にある数字はBC8~BF16に表示したいと考えています。 こちらを採用しています。 Sub Test() Dim i As Long, j As Long, k As Long Dim tmp As Variant For i = Columns("AC").Column To Columns("AE").Column For j = 8 To 16 tmp = Split(Cells(j, i).Value, ",") For k = 0 To UBound(tmp) If k < 4 Then Cells(j, "AC").Offset(0, 6 + ((i - Columns("AC").Column) * 10) + k).Value = tmp(k) End If Next Next Next End Sub

yyyyy555
質問者

お礼

ご回答ありがとうございました。 NO.1で対応できました。 追加のご回答にも感謝いたします。

Powered by GRATICA
yyyyy555
質問者

補足

確認不足で申し訳ありません。 セルの色を変えている部分が誤りです。 下記の認識で間違えありません。 > AC列にある数字はAI8~AL16にAD列にある数字はAS8~AV16に > AE列にある数字はBC8~BF16に表示したいと考えています。 こちらを採用しています。

すると、全ての回答が全文表示されます。
このQ&Aのポイント
  • TS6330を使ってモノクロ印刷すると、印刷面に白い筋が入ってしまいます。
  • カラー印刷やモノクロコピーは正常に印刷できますが、モノクロ印刷に問題があります。
  • ヘッドクリーニングをしても改善されないため、修理に出さなければなりません。
回答を見る

専門家に質問してみよう