Inquiridor
Comparação de valores gerando falha

Pergunta
-
Prezados,
Boa tarde!!
Dêem uma olhada no código:
vou comentar o primeiro IF porém todos os outros estão idênticos, modificando-se apenas os valores necessários, porém as linhas de comando são idênticas
If Range("G23").Value = A1 Then - comparando o valor da Célula G23 com A1. A1 não é a célula.
ActiveWindow.SmallScroll Down:=50
Range("O6262").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveWindow.SmallScroll Down:=-65
Range("A9").SelectSe o valor selecionado na combo-box que tem na célula G23 for A1, o programa deve selecionar a célula O62
62 e colar especial em cima dela mesma.
Alguém intende porque não funciona?
A finalidade do programa é gerar Etiquetas patrimoniais com código de barras. Se tiverem algo parecido e puderem contribuir, agradeço!!
Segue o código completo:
Sub A()
'
' A Macro
' Macro gravada em 3/1/2008 por LinkCom
'If Range("G23").Value = A1 Then
ActiveWindow.SmallScroll Down:=50
Range("O6262").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveWindow.SmallScroll Down:=-65
Range("A9").Select
ElseIf Range("G23").Value = A2 Then
ActiveWindow.SmallScroll Down:=50
Range("O6363").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveWindow.SmallScroll Down:=-65
Range("A9").Select
ElseIf Range("G23").Value = A3 Then
ActiveWindow.SmallScroll Down:=50
Range("O6464").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveWindow.SmallScroll Down:=-65
Range("A9").Select
ElseIf Range("G23").Value = A4 Then
ActiveWindow.SmallScroll Down:=50
Range("O6565").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveWindow.SmallScroll Down:=-65
Range("A9").Select
ElseIf Range("G23").Value = A5 Then
ActiveWindow.SmallScroll Down:=50
Range("O6666").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveWindow.SmallScroll Down:=-65
Range("A9").Select
ElseIf Range("G23").Value = A6 Then
ActiveWindow.SmallScroll Down:=50
Range("O6767").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveWindow.SmallScroll Down:=-65
Range("A9").Select
ElseIf Range("G23").Value = A7 Then
ActiveWindow.SmallScroll Down:=50
Range("O6868").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveWindow.SmallScroll Down:=-65
Range("A9").Select
ElseIf Range("G23").Value = A8 Then
ActiveWindow.SmallScroll Down:=50
Range("O6969").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveWindow.SmallScroll Down:=-65
Range("A9").Select
ElseIf Range("G23").Value = A9 Then
ActiveWindow.SmallScroll Down:=50
Range("O7070").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveWindow.SmallScroll Down:=-65
Range("A9").Select
ElseIf Range("G23").Value = A10 Then
ActiveWindow.SmallScroll Down:=50
Range("O7171").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveWindow.SmallScroll Down:=-65
Range("A9").Select
ElseIf Range("G23").Value = A11 Then
ActiveWindow.SmallScroll Down:=50
Range("O7272").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveWindow.SmallScroll Down:=-65
Range("A9").Select
ElseIf Range("G23").Value = B1 Then
ActiveWindow.SmallScroll Down:=50
Range("O7373").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveWindow.SmallScroll Down:=-65
Range("A9").Select
ElseIf Range("G23").Value = B2 Then
ActiveWindow.SmallScroll Down:=50
Range("O7474").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveWindow.SmallScroll Down:=-65
Range("A9").Select
ElseIf Range("G23").Value = B3 Then
ActiveWindow.SmallScroll Down:=50
Range("O7575").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveWindow.SmallScroll Down:=-65
Range("A9").Select
ElseIf Range("G23").Value = B4 Then
ActiveWindow.SmallScroll Down:=50
Range("O7676").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveWindow.SmallScroll Down:=-65
Range("A9").Select
ElseIf Range("G23").Value = B5 Then
ActiveWindow.SmallScroll Down:=50
Range("O7777").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveWindow.SmallScroll Down:=-65
Range("A9").Select
ElseIf Range("G23").Value = B6 Then
ActiveWindow.SmallScroll Down:=50
Range("O7878").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveWindow.SmallScroll Down:=-65
Range("A9").Select
ElseIf Range("G23").Value = B7 Then
ActiveWindow.SmallScroll Down:=50
Range("O7979").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveWindow.SmallScroll Down:=-65
Range("A9").Select
ElseIf Range("G23").Value = B8 Then
ActiveWindow.SmallScroll Down:=50
Range("O8080").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveWindow.SmallScroll Down:=-65
Range("A9").Select
ElseIf Range("G23").Value = B9 Then
ActiveWindow.SmallScroll Down:=50
Range("O8181").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveWindow.SmallScroll Down:=-65
Range("A9").Select
ElseIf Range("G23").Value = B10 Then
ActiveWindow.SmallScroll Down:=50
Range("O8282").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveWindow.SmallScroll Down:=-65
Range("A9").Select
ElseIf Range("G23").Value = B11 Then
ActiveWindow.SmallScroll Down:=50
Range("O8383").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveWindow.SmallScroll Down:=-65
Range("A9").Select
ElseIf Range("G23").Value = C1 Then
ActiveWindow.SmallScroll Down:=50
Range("O8484").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveWindow.SmallScroll Down:=-65
Range("A9").Select
ElseIf Range("G23").Value = C2 Then
ActiveWindow.SmallScroll Down:=50
Range("O8585").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveWindow.SmallScroll Down:=-65
Range("A9").Select
ElseIf Range("G23").Value = C3 Then
ActiveWindow.SmallScroll Down:=50
Range("O8686").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveWindow.SmallScroll Down:=-65
Range("A9").Select
ElseIf Range("G23").Value = C4 Then
ActiveWindow.SmallScroll Down:=50
Range("O8787").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveWindow.SmallScroll Down:=-65
Range("A9").Select
ElseIf Range("G23").Value = C5 Then
ActiveWindow.SmallScroll Down:=50
Range("O8888").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveWindow.SmallScroll Down:=-65
Range("A9").Select
ElseIf Range("G23").Value = C6 Then
ActiveWindow.SmallScroll Down:=50
Range("O8989").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveWindow.SmallScroll Down:=-65
Range("A9").Select
ElseIf Range("G23").Value = C7 Then
ActiveWindow.SmallScroll Down:=50
Range("O9090").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveWindow.SmallScroll Down:=-65
Range("A9").Select
ElseIf Range("G23").Value = C8 Then
ActiveWindow.SmallScroll Down:=50
Range("O9191").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveWindow.SmallScroll Down:=-65
Range("A9").Select
ElseIf Range("G23").Value = C9 Then
ActiveWindow.SmallScroll Down:=50
Range("O9292").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveWindow.SmallScroll Down:=-65
Range("A9").Select
ElseIf Range("G23").Value = C10 Then
ActiveWindow.SmallScroll Down:=50
Range("O9393").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveWindow.SmallScroll Down:=-65
Range("A9").Select
ElseIf Range("G23").Value = C11 Then
ActiveWindow.SmallScroll Down:=50
Range("O9494").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveWindow.SmallScroll Down:=-65
Range("A9").Select
End If
End Subquinta-feira, 3 de janeiro de 2008 18:07
Todas as Respostas
-
Vc poderia esclarecer 2 pontos?
1. Qual o problema que está ocorrendo quando diz que não funciona? (a macro trava? ocorre processamento, mas o resultado não é o desejado? outro?)
2. Qual o tipo de valor que está armazenado nas variáveis Ak, Bk e Ck.
De cara, já podemos encurtar o teu código utilizando alguns conceitos difererentes.
Ficariamos, por exemplo, para o teste até A3 com o seguinte código
Sub A()
Dim i As Integer
Dim ValorValor = Range("G23").Value
Select Case Valor
Case A1
i = 1
Case A2
i = 2
Case A3
i = 3
End Select
ActiveWindow.SmallScroll Down:=50
Range(Cells(62 + i, 15), Cells(62 + i, 16)).Copy
ActiveWindow.SmallScroll Down:=-65
Cells(9, 1).SelectEnd Sub
Espero a resposta das questões acima para continuar a auxiliá-lo.
[]s
sexta-feira, 4 de janeiro de 2008 19:28 -
olha,pelo q eu entendi vc nao teria que comparar com o valor da celula e sim com o valor da combo-box se a combo-box for um objeto,agora se ela não for eu nao consegui entender como você escolhe esses dados..
se for um objeto o codigo ficaria mais ou menos assim:
If Combobox1.value="A1" then(...)
nesse exemplo o nome da combo box é Combobox1,porem pode ser q o nome seja outro.
espero ter ajudado
boa sorte
XoX
quarta-feira, 16 de janeiro de 2008 13:57