プロが教える店舗&オフィスのセキュリティ対策術

Excel vba index match 日々変わるカウント数を該当列に転記
毎日インターネット上のデータをExcel出力し下処理(書式修正、ダブりデリート、カウントなど)しsheet3のA列に品番、B列にそれぞれのカウントが来る様にしています。毎日内容が変わりますが、sheetはいつも同じ方が良いと思いそうしています。
Sheet2は集計用として
A列に品番、H列4/1.I列4/2.J列4/3と1ヶ月分の日付にしてあります。
やりたい事ですが、リストでsheet2の日付けを指定しA列の品番をsheet3のA列から探しそのカウント数(B列の数字)を先程リストで指定した日付列にもって来たいです!
どなたか教えて頂けましたら。

A 回答 (3件)

こんにちは



>リストでsheet2の日付けを指定し~
「リスト」というのが、ユーザフォームなのか、シート上のドロップダウン等なのかよくわからないので、その辺は適当にアレンジしていただくとして・・・

・Sheet2の1行目はタイトル行で、2行目からデータがあるものと仮定
・1行目の日付はシリアル値と仮定

以下は、日付を直接指定した場合のサンプルです。
Sheet2がアクティブな状態で実行します。
Sub sample_Q12319923()
Dim r
Const targetDay = "2021/4/3"

Set r = Range("H1").Resize(, 31).Find(DateValue(targetDay))
If r Is Nothing Then
 MsgBox "該当日がありません"
 Exit Sub
End If

Set r = Range(Cells(1, 1), Cells(Rows.Count, 1).End(xlUp)).Offset(1, r.Column - 1)
r.FormulaLocal = "=IFERROR(VLOOKUP(A2,Sheet3!A:B,2,0),"""")"
r.Value = r.Value
End Sub
    • good
    • 2
この回答へのお礼

へこむわー

こんにちは。
いつもお世話になります。
ご伝授頂いたのでできたのですが、4/3が消えてしまいました。
実際のシートはN5が4/1でしたので
("H1")を("5")に書き変えてます。
それがいけなかったのでしょうか、、、。

お礼日時:2021/04/21 13:51

No1です



あれこれいじくる前に、質問文通りの条件でテストしてみてください。
(あくまでもサンプルですので)

◇Sheet2
・A2、A3・・・と下方に品名
・H1、J1・・・と横方向に日付(シリアル値)

◇Sheet3
・A列:品名
・B列:数量
    • good
    • 1
この回答へのお礼

助かりました

すいません。できました!!
ありがとうございます!!
もしよろしければ、日付部分をドロップダウンリストとリンクさせる技をご教授頂けないでしょうか?
ドロップダウンリストをsheet2のA1に作成し”元の値”をH1からAL1としています。
そのドロップダウンリストからのリンクは可能なのでしょうか?
もしくはユーザーフォームで作成の方がよいのであればそちらでも構わないのですが。

お礼日時:2021/04/21 19:35

No1、2です。



>ドロップダウンリストをsheet2のA1に作成し
>”元の値”をH1からAL1としています。
A1の値がシリアル値なら、
>Set r = Range("H1").Resize(, 31).Find(DateValue(targetDay))
の「DateValue(targetDay)」の代わりに、Range("A1").Valueを入れればよいでしょう。
    • good
    • 2
この回答へのお礼

あなたに会えてよかった

ありがとうございます。
この、ど素人のわがままを最後までお聞き頂きまして。
またよろしくお願い申し上げます!

お礼日時:2021/04/21 20:23

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