método intersect parece não trabalhar aqui
Pergunta
Eu estou escrevendo um trecho de excluir células duplicadas.Portanto, se houver uma célula na coluna 4, que começa com 0 a 9 (em formato de texto) e não aparecem na coluna 8, eu gostaria de adicionar o valor da célula a uma variável de seqüência de caracteres.Mas parece que o método intersect sempre retornam Nada aqui...alguma idéia?
Sub getAddNum()
addnum = ""
Set rng1 = Columns(4).SpecialCells(xlCellTypeConstants)
Set rng2 = Columns(8).SpecialCells(xlCellTypeConstants)
For Each currentcell In rng1
cellValue = CStr(currentcell.Value)
If InStr("0123456789", CStr(Left(cellValue, 1))) And Intersect(currentcell, rng2) Is Nothing Then
addnum = addnum & CStr(currentcell.Value) & ", "
End If
Next
Range("I9").Value = addnum
End Sub
Solução
Como comentei, re-escrever o seu código como este:
Sub getAddNum()
Dim addnum As String, cellValue As String
Dim rng1 As Range, rng2 As Range, currentcell As Range
addnum = ""
Set rng1 = Columns(4).SpecialCells(xlCellTypeConstants)
Set rng2 = Columns(8).SpecialCells(xlCellTypeConstants)
For Each currentcell In rng1
cellValue = CStr(currentcell.Value)
If Left(cellValue, 1) Like "[0-9]" And IsError(Application.Match(cellvalue,rng2,0)) Then
addnum = addnum & CStr(currentcell.Value) & ", "
End If
Next
Range("I9").Value = addnum
End Sub
Não Testei, mas eu acho que você pode começar a lógica.
Espero que isso de alguma forma ajuda.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow