|
ご覧いただきありがとうございます。
下のような表がります。分類をcombobox1、番号をcombobox2に見立てます。
combobox1で選択した分類に従って未使用の番号を頭(1)から検索し使用していない番号をcombobox2に入れたいのですが、既使用番号が少なければいいのですが、何百もなると検索に時間がかかってしましまいます。何か良い方法があればご教授いただきたのですが。関数とかで探せればそれもいいのですが。ちなみに、私が現時点で考えたマクロを下段に載せています。よろしくお願いします。
(表)
分類 番号
1 1
1 2
1 3
2 1
2 3
※この表でいくと、COMBOBOX1で1を選択したら、自動で4がCOMBOBOX2に入り、COM1で2を選択したらCOM2に2が入るようにしたいのです。ただし、例えばAの既使用番号が500番まで埋まっていたりしたら検索に時間がかかってしまいます。以下は、私が現時点で作成したマクロです。
SUB MACRO()
BANGOU = 0
REPEAT1:
GYOU = 1
FLG = 0
FLG2 = 0
BANGOU = BANGOU + 1
BANCHIA = "Sheet1!A" & GYOU
DO UNTIL FLG = 9 OR FLG2 = 9
IF RANGE(BANCHIA) = "" THEN
FLG2 = 9
ELSE
IF RANGE(BANCHIA).VALUE > COMBOBOX1.VALUE THEN
FLG2 = 9
ELSE
IF RANGE(BANCHIA).VALUE = COMBOBOX1.VALUE THEN
BANCHIB = "Sheet1!B" & GYOU
IF RANGE(BANCHIB).VALUE = BANGOU THEN
FLG = 9
END IF
END IF
IF FLG <> 9 THEN
GYOU = GYOU + 1
BANCHIA = "Sheet1!A" & GYOU
END IF
END IF
END IF
LOOP
IF FLG2 = 9 THEN
COMBOBOX9.VALUE = CSTR(BANGOU)
ELSE
IF FLG = 9 THEN
GOTO REPEAT1
ELSE
COMBOBOX2.VALUE = CSTR(BANGOU)
END IF
END IF
END SUB
|
|