ようこそ ゲスト さん、新規登録(無料)して気になる疑問を解決しませんか?

質問

QNo.3985886 Excel文字列の連結について教えてください(VBA)
質問者:okaki007 Excelの文字列の結合について教えてください。
色々調べたのですが、VBA自体がよくわからず困っています。
やりたい事は、(Excel表をご参考)
『セルA1とB1とA2の文字を固定で、セルA3以降の文字以降を
 順次連結してcsvに書き出すVBAを作成したい。』
どうしても繰り返す連結マクロがわかりません。
ExcelVBAに詳しい方、教えてください。
よろしくお願いします。

結果例)
20080501A01
20080501A02
20080501B01
20080501C01
  ・
  ・(300件以上続きます)
<Excel表>
   A列  B列
1  2008  05
2  01   
3  A01
4  A02
5  B01
6  C01
7  ・
8  ・
困り度:
  • すぐに回答を!
質問投稿日時:
08/04/29 21:55
この質問に対する回答は締め切られました。

回答良回答20pt

ANo.1 (1)固定部分
Dim 固定
固定 = Cells(1, 1).Text & Cells(1, 2).Text & Cells(2, 1).Text
(2)空欄が出てくるまでの行数
Dim 最終行番号
最終行番号 = Cells(3, 1).CurrentRegion.Rows.Count
(3)ファイル出力
Open "C:\xx〜yy.csv" For Output As #1
(4)行のループ
Dim 行
For 行 = 3 To 最終行番号
  Print #1,固定; ","; Cells(行, 1).Text
Next

以上のサンプルを組み合わせればプログラムできると思います。
最後に出力ファイルのCloseを忘れないようにしてください。
回答者:nda23
種類:アドバイス
どんな人:専門家
自信:参考意見
回答日時:
08/04/29 22:25
この回答への補足最終行番号 = Cells(3, 1).End(xlDown).Row で解決できました。
ありがとうざいました。助かりました。
この回答へのお礼ご丁寧な回答ありがとうございます。
とてもわかりやすかったです。
サンプルを組み合わせて動いたのですが、
最終行の取得ですが、行数によってちゃん取得されたり
されず固定部分のみオーバーして出力されたりします。
頂いたサンプルで以下の部分を変更しました。
-----------
Print #1,固定; ","; Cells(行, 1).Text
⇒Print #1, 固定 & Cells(行, 1).Text
-----------
これが原因でしょうか。
後、空白セルには条件書式が入っております。
(「Ctrl」+「Shift」+「↓」キーでは、空白前で止まります)
他に考えられる原因があれば教えてください。
よろしくお願いします。