Como podemos substituir decentemente o PROCV por um código VBA no Excel no cenário abaixo?
O cenário é o seguinte: tenho um universo de 4000 valores distintos na coluna A e apenas 8 valores possíveis na coluna B.
Até entendo que daria para fazer dois WHILE encadeados com IF no interior deles, mas acho pouco prático, além de "perder tempo" de processamento (mesmo que neste caso não faça tanta diferença).
Como solução, cogitei criar 8 Arrays diferentes e usar Select Case para comparar num bloco só (evitando escrever todos as quase 700 possibilidades em casa "Case".
Só que não tá dando certo, pois aparentemente: ou não consigo usar Select Case comparando um valor com um Array inteiro, ou tem algo errado no código (vide abaixo).
Alguém conseguiria me esclarecer o que está errado no código abaixo, ou ainda sugerir outra possibilidade de substituição do PROCV no VBA?
Seria possível ainda usar Collection neste caso? Se sim, como faria para usar a comparação de um valor com algum item da Collection (ou seja, qual a sintaxe para uso da Collection com Select Case)?
lin = 2
Dim var7824(1000) As Variant
Dim var7723(1000) As Variant
var7824(0) = "0022"
var7824(1) = "0023"
var7824(2) = "0024"
var7723(0) = "0029"
var7723(1) = "0030"
var7723(2) = "0031"
While Range("A" & lin).Value <> 0
Select Case Range("A" & lin).Value
'Case 22, 23, 24, 25, 26
Case var7824()
Range("B" & lin).Value = "7824"
'Case 29, 30, 31, 32, 33, 34, 35, 36, 37
Case var7723
Range("B" & lin).Value = "7723"
End Select
lin = lin + 1
Wend