都道府県穴埋めゲーム

   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
↑書き方としてはやっぱり間違ってる?



何かいい書き方ってないでしょうか・・?
お手数おかけいたしますがよろしくお願いします。

A 回答 (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列は「文字列」になります。
    • good
    • 0
この回答へのお礼

ありがとうございます
そのまま上記のマクロを追加してみたら正常に動作しました。

お礼日時:2008/02/26 12:21

ANo.1 をマクロに置き換えます。



ツール>マクロ>新しいマクロの記録で記録スタート
   ↓
やりたいことをやってみる。
   ↓
記録終了
   ↓
記録されたコードを確認する
Range("A1:A6").Select
Selection.FormulaR1C1 = "=RC[1]+RC[2]"
   ↓
不要な部分等を修正する
Range("A1:A6").FormulaR1C1 = "=RC[1]+RC[2]"

となります
    • good
    • 0
この回答へのお礼

試してはみましたが
やってみたいことを入れると処理具合が不調になってしまいましたが
試してるうちに動作確認できました
お手数おかけしましてありがとうございました

お礼日時:2008/02/26 12:22

◆マクロはさておき


A1=B1+C1
★で、 2008/1/2 0:00 になります
★もしもこのように表示されなければ、表示形式を、 yyyy/m/d h:mm としてください
    • good
    • 0
この回答へのお礼

そうですね Excel版だとそれで動きました
マクロもいじってて追加してるうちにできたのでありがとうございましたw

お礼日時:2008/02/26 12:23

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!