解決済

VBAでちょっと悩んでいることがあるので教えて下さい。大学の研究データの処理でイレギュラーがあるのでうまくやりたいのですがお願いします。

とある実験結果をエクセルで保存しているのですがデータが「超大量」のため効率的に処理したいのですが・・・
まず基本的に実験したら5日後にデータを回収しています。データを入力するに当たって一部自動化したいことが念頭にあります。データ処理の例として:
・A1セルからG1セルまで研究データ処理開始日の日付「2008/3/1~7」が既存で入ってます。
・A3セルからG3セルまでは5日後の日付が入るようにしたいです。
・基本は5日で終わるのですが中には前後2,3日くらいずれるものがあります。その結果が肝心なのでしっかり記録したいのです。
・A2セルからG3セルは研究処理失敗記録用です。

例えば*2008/3/1に始め2008/3/6に終わるところエラーが出たのでF2セルへはイレギュラーの「E」かチェッカーボックス(なんか横に文字が入るから好きじゃないけど)を入れます。
そうするとA3セルでは2008/3/7が出るようにしたいのですが分岐がうまくわかりません・・・・
あとソースを下記に書きましたが日付の横に曜日がうまくつきません 確かこういうweekday関数で大丈夫と思ったはずですが何故か???申し訳ありませんがどんな方法をとればいいかわかりません。ご指導よろしくお願いします。

Dim vntEnd As Variant
Dim vnt5days As Variant
Dim vntWeekday As Variant

’もし5日後のセルの下にEが入っていれば日付を一日ずらす??
’こんな方法なんかとも思いますが・・・
vntEnd = 5
vnt5days = DateAdd("d", vntEnd, Range("A1"))
vntWeekday = WeekDay(vnt5days)

Range("A3") = vnt5days & vntWeekday

2008-03-19 00:24の質問
日付  VBA  セル  Dateadd  
この質問と回答を読んで役に立った場合は「役に立つ質問」に投票してください。投票が多い質問は、役に立つ質問一覧に掲載され、より多くの人に見てもらうことができます。
Ads By Google

回答(2)

2.

2008-03-20 02:39:46ベスト
BLUEPIXYさんに補足。

「A3:G3の書式を日付にする」は、セルの書式設定で、
「yyyy/mm/dd(aaa)」とか「yyyy/m/d(aaa)」とすれば、「曜日」も表示できますよね。

weekday関数で求めて、文字列として「つなげる」人が多いのですが、セルの書式設定で事足りると思います。

1.

2008-03-19 02:45:12
・A3セルからG3セルまでは5日後の日付が入るようにしたいです
・Eが入っていれば日付を一日ずらす
のであれば、VBAを使わずとも
A3
=A1+IF(A2="E",1,0)+5
でG3までコピー
A3:G3の書式を日付にする
ぐらいでいいんじゃないでしょうか
回答レベル : アドバイス
Ads By Google

コメント

まだコメントがありません

トラックバック

トラックバックURL: