- ベストアンサー
セルとセルの文字列を結合について
A B C 1 2008/1/2 0:00:00 2 2008/1/2 0:15:00 3 2008/1/2 0:30:00 4 2008/1/2 0:45:00 5 2008/1/2 1:00:00 6 2008/1/2 1:15:00 ↓ A B C 1 2008/1/2 0:00 2008/1/2 0:00 2 2008/1/2 0:15 2008/1/2 0:15 3 2008/1/2 0:30 2008/1/2 0:30 4 2008/1/2 0:45 2008/1/2 0:45 5 2008/1/2 1:00 2008/1/2 1:00 6 2008/1/2 1:15 2008/1/2 1:15 といった感じにA列に Bの日付とCの時刻を半角スペースを挟んで 入力させたいのですが Excel上で以下の関数を使って手動でやると =CONCATENATE("2008/1/1"," ",0:15) 2008/1/1 0:00 と表示されるが マクロでの記述上では上手くいかない。 For i = 1 To 10 Range("A1,A10") = CONCATENATE(Cells(i, 2), Cells(i, 3)) Next ↑書き方としてはやっぱり間違ってる? 何かいい書き方ってないでしょうか・・? お手数おかけいたしますがよろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
B列の日付、C列の時刻はいずれも日付型(シリアル値:セルの書式を標準にしたときに表示される値)で入力されていますか? だとするとVBAでは For i = 1 To 10 Cells(i, 1).Value = Format(Cells(i, 2), "yyyy/m/d") & _ Format(Cells(i, 3), "hh:mm:ss") Next i でよいと思います。ただしこのときのA列は「文字列」になります。
その他の回答 (2)
- YSNR-HRN
- ベストアンサー率36% (40/111)
ANo.1 をマクロに置き換えます。 ツール>マクロ>新しいマクロの記録で記録スタート ↓ やりたいことをやってみる。 ↓ 記録終了 ↓ 記録されたコードを確認する Range("A1:A6").Select Selection.FormulaR1C1 = "=RC[1]+RC[2]" ↓ 不要な部分等を修正する Range("A1:A6").FormulaR1C1 = "=RC[1]+RC[2]" となります
お礼
試してはみましたが やってみたいことを入れると処理具合が不調になってしまいましたが 試してるうちに動作確認できました お手数おかけしましてありがとうございました
- maron--5
- ベストアンサー率36% (321/877)
◆マクロはさておき A1=B1+C1 ★で、 2008/1/2 0:00 になります ★もしもこのように表示されなければ、表示形式を、 yyyy/m/d h:mm としてください
お礼
そうですね Excel版だとそれで動きました マクロもいじってて追加してるうちにできたのでありがとうございましたw
お礼
ありがとうございます そのまま上記のマクロを追加してみたら正常に動作しました。