Este fórum está sendo desativado

Depois de 9 anos, este fórum será desativado. Mas calma.... estamos migrando para uma comunidade no DISCORD. Junte-se a nós.

ENTRAR PARA DISCORD

Tópicos relacionados a códigos VBA, gravação de macros, etc.
#52668
Olá,

Em determinada coluna da planilha eu filtro os valores diferentes de vazio(="<>"), e preciso substituir os valores por 1(para fazer a contagem), porém quando eu crio uma variável para pegar somente as linhas filtradas, ele acaba pegando uma linha oculta e trazendo erroneamente o valor dela para as demais linhas. Conseguem me ajudar?
Anexo o arquivo exemplificado e abaixo o trecho da macro.

Muito obrigado

Sub simulador_venda()

linhacf = Range("E1").End(xlDown).End(xlUp).SpecialCells(xlCellTypeVisible).Row + 1


'RECICLAVEL
ActiveSheet.Range("$A:$H").AutoFilter Field:=5, Criteria1:="<>"
Cells(linhacf, 5).Select
Range("E1").Select
Selection.End(xlDown).Select
Selection.End(xlUp).Offset(1, 0).Select
ActiveCell.FormulaR1C1 = "1"
Range(Selection, Selection.End(xlDown)).Select
Selection.FillDown
Selection.AutoFilter


'DESCARTAVEL
Range("F1").Select
ActiveSheet.Range("$A:$H").AutoFilter Field:=6, Criteria1:="<>"
Range("F1").Select
Range(ActiveCell.End(xlDown), ActiveCell.End(xlUp).Offset(1, 0)).Select
Selection.End(xlDown).Select
Selection.End(xlUp).Offset(1, 0).Select
ActiveCell.FormulaR1C1 = "1"
Range(Selection, Selection.End(xlDown)).Select
Selection.FillDown
Selection.AutoFilter


'NOVO
Range("G1").Select
ActiveSheet.Range("$A:$H").AutoFilter Field:=7, Criteria1:="<>"
Range("P1").Select
Range(ActiveCell.End(xlDown), ActiveCell.End(xlUp).Offset(1, 0)).Select
Selection.End(xlDown).Select
Selection.End(xlUp).Offset(1, 0).Select
ActiveCell.FormulaR1C1 = "1"
Range(Selection, Selection.End(xlDown)).Select
Selection.FillDown
Selection.AutoFilter


End Sub
Você não está autorizado a ver ou baixar esse anexo.
#52671
FelipeCap escreveu: ... e preciso substituir os valores por 1(para fazer a contagem)...
Deixando o seu código de lado, explique o que exatamente você quer contar e onde ?
#52681
Osvaldo, boa tarde.

Sendo bem objetivo: Eu só preciso filtrar nas colunas( em azul) todas as linhas "diferentes de vazio" e substituir os campos que estão preenchidos por "1" sem que preencha as linhas vazias.
Referente a "contagem" não precisa ser feita na macro, isso já é realizado direto no BI quando eu subo a base do Excel.

Isso esclarece?

Obrigado
#52688
FelipeCap escreveu:... substituir os campos que estão preenchidos por "1"
Experimente: (o código colocará 1 e não "1")
Código: Selecionar todos
Sub SubstituiPorUm()
 Dim LR As Long, k As Long
  LR = Cells(Rows.Count, 1).End(3).Row
   For k = 5 To 7
    Columns(k).TextToColumns
    Range(Cells(2, k), Cells(LR, k)).SpecialCells(2) = 1
   Next k
End Sub
obs. embora o código funcione no módulo da planilha, onde você colocou o código atual, é recomendável instalar o código acima em um módulo comum (no menu do editor de VBA / Inserir / Módulo)
long long title how many chars? lets see 123 ok more? yes 60

We have created lots of YouTube videos just so you can achieve [...]

Another post test yes yes yes or no, maybe ni? :-/

The best flat phpBB theme around. Period. Fine craftmanship and [...]

Do you need a super MOD? Well here it is. chew on this

All you need is right here. Content tag, SEO, listing, Pizza and spaghetti [...]

Lasagna on me this time ok? I got plenty of cash

this should be fantastic. but what about links,images, bbcodes etc etc? [...]

Estamos migrando para uma comunidade no Discord