VBAで倉庫管理をしたいのですが……
シート1に次のようなランダムな入力を行って、
それを倉庫に模したシート2に表示したいと思っています。
(下図参照)
色々な人のアドバイスを受けて、関数で表示することはできました。
シート2のセルに入力した関数
=IF(COUNTIF(入力帳票!$H$1:INDIRECT("入力帳票!F"&IF($M$1<MIN(入力帳票!$A:$A),1,MATCH($M$1,入力帳票!$A:$A,1))),ADDRESS(ROW(),COLUMN(),4)&"*")=0,"",INDEX(入力帳票!$B:$B,MATCH(ADDRESS(ROW(),COLUMN(),4)&"*",入力帳票!$F:$F,0)))
今度は、シート1で指定した範囲に、色をつけたいと思います。
そこで、以下のように書いてみましたがエラーになります。
どう修正すればいいのでしょうか?
よろしくお願いします。
Sheet2をアクティブにして
Sub 品番色分け()
For n = 2 To 1000
Range("WorksheetFunction.INDIRECT(Sheet1!H & Format(n))").Select
If Worksheet("Sheet1").Cells(n, 2).varue Lilke "*A" or "*H"Then
Selection.Interior
.ColorIndex = 19
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
ElseIf Worksheet("Sheet1").Cells(n, 2).varue Lilke "*B" Then
Selection.Interior
.ColorIndex = 40
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
ElseIf Worksheet("Sheet1").Cells(n, 2).varue Lilke "*F" Then
Selection.Interior
.ColorIndex = 38
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
ElseIf Worksheet("Sheet1").Cells(n, 2).varue Lilke "*C" Then
Selection.Interior
.ColorIndex = 35
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
End If
Next
End Sub
最近VBAやら関数やらの本を読み始めたばかりで、混乱しています。
よろしくお願いします。
お礼
KURUMITO様 こちらこそ、素人の都合のいい質問に繰り返しお答えいただきありがとうございます。 例示された関数を眺めていて、「考え方・発想」というものがわかってきました。本当に参考になります。 関数にはずいぶんといろいろな物があるようですが、リファレンスを読んでいるだけでは、なかなか実際の使用への応用には結びつかなくて困ります(^^; たとえばMATCH関数の引数に範囲を指定できると解説しているものは私の買った本や、web上にはまだ見つけていません。 おくが深いですね。 この考え方ができれば、VBAもできそうですね。 重ねて感謝申し上げます。