🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Q&A

解決済

1回答

309閲覧

VBA 日付の判定をしたい

minako_tera

総合スコア12

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

0グッド

0クリップ

投稿2020/11/25 04:47

編集2020/11/25 06:37

D1に2020/10/01の日付を事前に入れておきます。(毎回月は替わります)

B列の日付が10月になっている場合、その行をコピーしてC列の値は削除するというコードを書きたいのですが、以下ののAndから先がわかりません。
「If cells(i,"B").value<>"" And XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX」

申し訳ありませんが、ご指導いただきたくよろしくお願いします。

例えばですが、下記の場合、3行目のすいかの下に1行挿入したいです。
A B C

1 商品 出荷日  値段 
2 めろん 11/2  100
3 すいか 10/5  200
4 りんご 11/3  50

Dim mx
Dim i
Application.ScreenUpdating = False
mx =Range("B" & Rows.Count).End(xlUp).Row
For i = mx To 3 Step -1
If cells(i,"B").value<>"" And XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX Then
Rows(i).copy
Rows(i + 1).Insert Shift:=xlDown
Rows(i + 1).Range("B1").Clearcontents

End If
Next

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

meg_

2020/11/25 04:59

> C列の日付が10月になっている場合 B列ではありませんか? > その行をコピーしてC行の値は削除する > 4行目のすいかの下に1行挿入したいです。 何を削除したいのか、何を挿入したいのかよく分かりません。C行はC列ですか?4行目のすいかは3行目のすいかですか?
ttyp03

2020/11/25 05:20

mxを初期化していないので無限ループしそうですが。 端折らないで必要なコードは全て提示してください。
ttyp03

2020/11/25 05:23

あと質問タイトルと質問内容があってません。 聞きたいことは「日付の判定をしたい」では?
minako_tera

2020/11/25 06:10

この度は不備が多くもうしわけありません。質問を訂正いたしました。
guest

回答1

0

ベストアンサー

「C列の日付が10月になっている場合」がB列の間違いとして、

vba

1If Cells(i,"C").Value<>"" And Format(Cells(i,"B").value,"yyyymm") = Format(Cells(1,"D").value,"yyyymm") Then

とか、

vba

1If Cells(i,"C").Value<>"" And DateDiff("m", Cells(i,"B").value, Cells(1,"D").value)=0 Then

投稿2020/11/25 05:26

編集2020/11/25 07:21
hatena19

総合スコア34073

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

minako_tera

2020/11/25 07:20

この度はありがとうございます。Format関数で対応できました。DateDiffのほうは引数は省略できません、と出てしまいました。いろいろ試してみたのですが、わからなかったので、Format関数で対応させていただきます。
hatena19

2020/11/25 07:22

あっ、すみません。間違ってますね。最初の引数に"m"が必要でした。 DateDiff("m", Cells(i,"B").value, Cells(1,"D").value) 回答のコードも修正しておきました。
minako_tera

2020/12/09 01:39

ご連絡が遅くなり申し訳ありません。勉強になります。どうもありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問