Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


10754 / 13644 ツリー ←次へ | 前へ→

【20032】カンマ区切りの逆の操作 VBA初心者 04/11/25(木) 0:59 質問[未読]
【20035】Re:カンマ区切りの逆の操作 かみちゃん 04/11/25(木) 8:19 回答[未読]
【20046】Re:カンマ区切りの逆の操作 VBA初心者 04/11/25(木) 21:39 お礼[未読]
【20036】Re:カンマ区切りの逆の操作 Jaka 04/11/25(木) 9:35 発言[未読]
【20037】Re:カンマ区切りの逆の操作 ちゃっぴ 04/11/25(木) 10:08 回答[未読]

【20032】カンマ区切りの逆の操作
質問  VBA初心者  - 04/11/25(木) 0:59 -

引用なし
パスワード
   一つのセルの複数のデータを区切り位置でカンマ区切りで複数のセルに分ける操作の逆を行いたいのですが、その操作って出来ますのでしょうか?

横に読み取りながら、空白のセルになるまで、その操作を行うのが目的です。
i=1
Do until cells(1,i) = ""

cells(1,i) & "," & cells(1,i+1) & ","

この後どうしても思いつかなくて、躓いています。

相変わらず、曖昧な質問なんでスイマセン

【20035】Re:カンマ区切りの逆の操作
回答  かみちゃん  - 04/11/25(木) 8:19 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>一つのセルの複数のデータを区切り位置でカンマ区切りで複数のセルに分ける操作の逆を行いたいのですが、その操作って出来ますのでしょうか?
>
>横に読み取りながら、空白のセルになるまで、その操作を行うのが目的です。

以下のような感じでどうでしょうか?

Sub Macro1()
 Dim i As Integer

 '1列目の処理 連結した文字列は、1列目に上書きする。
 Cells(1, 1).Value = Cells(1, 1).Value & ","
 '開始列は、2列目からとする。
 i = 2
 '1行目のi列目が空白になるまで処理を繰り返す
 Do Until Cells(1, i) = ""
  Cells(1, 1).Value = Cells(1, 1).Value & Cells(1, i).Value & ","
  i = i + 1
 Loop
 '最後の「,」を削除
 Cells(1, 1).Value = Mid(Cells(1, 1).Value, 1, Len(Cells(1, 1).Value) - 1)
End Sub

【20036】Re:カンマ区切りの逆の操作
発言  Jaka  - 04/11/25(木) 9:35 -

引用なし
パスワード
   RLE = Cells(1, 1).End(xlToRight).Column
St = Empty
For i = 1 To RLE
  St = St & "," & Cells(1, i).Value
Next
Cells(1, 1).Value = Mid(St, 2)

【20037】Re:カンマ区切りの逆の操作
回答  ちゃっぴ  - 04/11/25(木) 10:08 -

引用なし
パスワード
   一度、セルの値を2次元配列にまとめて代入し、
行ごとに1次元配列に格納。

そいつをJoin関数を使用して結合してやれば、
速いと思います。

【20046】Re:カンマ区切りの逆の操作
お礼  VBA初心者  - 04/11/25(木) 21:39 -

引用なし
パスワード
   答えて頂きました皆様、有難うございます。
おかげで、ようやくマクロプログラムの作業が一つ落ち着きました。

今後も、宜しくお願い致します。m(_ _)m

10754 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free