質問 |
||
| 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」+「↓」キーでは、空白前で止まります) 他に考えられる原因があれば教えてください。 よろしくお願いします。 |