AIと戦って、あなたの人生のリスク診断 >>

初めて質問させていただきます。

エクセルシートに1万個程度の番号が
縦(行)に並んでいます。なお、番号はそれぞれ異なります。

あるフォームに日付と10個の異なる番号を入力すると、
エクセルシートから合致する番号を検索し、
エクセルシートの一行目に日付が自動的に入力され、
その行を色塗りしたいと考えております。

これをVBA(マクロ)にて作成したいのですが、
初心者なのでどのようにやればよい分かりません。
どうか教えていただけないでしょうか。
よろしくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

> 1万個程度の番号が


> 縦(行)に並んでいます

縦なら行ではなく列です。
番号データはB列にあるものとしてマクロを作成します。

> エクセルシートの一行目に日付が自動的に入力され、

一列目の間違いですね?A列とします。

これでいかがでしょうか?

Sub test01()

Dim arr
Dim i As Integer, n As Integer, x As Integer
Dim c As Range

x = Application.InputBox("何個の番号を検索しますか?10個なら10と入力して下さい。")
x = x - 1

ReDim arr(x)

d = Application.InputBox("日付を入力してください。")

For i = 0 To x
arr(i) = Application.InputBox("検索番号を入力", i + 1 & "回目の入力")
Next

Columns("A:A").NumberFormatLocal = "yyyy/m/d"

For n = LBound(arr) To UBound(arr)
Set c = Columns("B:B").Find(What:=arr(n), LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False)

If c Is Nothing Then
MsgBox arr(n) & "が見当たりません。"
Else

c.Offset(0, -1) = d
c.EntireRow.Interior.ColorIndex = 6
End If
Next n

Set c = Nothing
End Sub
    • good
    • 0
この回答へのお礼

ありがとうございます。
すごすぎます!!
大変感謝しております。

お礼日時:2007/06/20 21:42

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


人気Q&Aランキング