Transformar números...
 
Notifications
Clear all

Transformar números negativos existente em positivo.


Adrianobardini
Posts: 2
Registered
Topic starter
(@adrianobardini)
New Member
Entrou: 9 meses atrás

Boa noite, gostaria de uma ajuda com uma vba...
atualmente eu criei uma vba que importa alguns números para uma outra planilha, na qual são números negativos (-1), sendo assim, gostaria de saber alguma macro que transforme todos os numeros existentes na planilha selecionada em positivo.

Responder
Tags do Tópico
3 Respostas
EdsonBR
Posts: 899
Moderator
(@edsonbr)
Prominent Member
Entrou: 6 anos atrás

Bem vindo ao Planilhando, @adrianobardini

No VBA, assim como no Excel, vc pode usar a função ABS (função absoluto ou também conhecida por módulo). Digamos que o intervalo de células contendo só números (tanto faz se positivos, negativos ou zeros) que vc queira converter a positivos esteja no intervalo A1:A100 da planilha ativa, vc poderia usar, por exemplo:

Sub PositivaNums()
  Dim rg As Range
  For Each rg In ActiveSheet.Range("A1:A100")
    rg.Value = Abs(rg.Value)
  Next rg
End Sub
Responder
1 Responder
Adrianobardini
Registered
(@adrianobardini)
Entrou: 9 meses atrás

New Member
Posts: 2

@edsonbr

Obrigado pelo suporte, este processo me ajudou bastante já... 
Agora me tira outra duvida  desta sua macro, tem como colocar alguma linha de código que ele identifique que tem de deixar o numero positivo até aonde existir linhas preenchida?

pq se colocar como esta ai "A1:A100" vai preencher todas as linhas sem valor com o numero zero, tem algum comando que só altera as linhas existente?

Responder
EdsonBR
Posts: 899
Moderator
(@edsonbr)
Prominent Member
Entrou: 6 anos atrás

O código abaixo processa só valores numéricos da coluna A inteira:

Sub PositivaNums()
  Dim A As Range, cél As Range, rg As Range
  On Error GoTo Sair
  Set rg = Range("A:A").SpecialCells(xlCellTypeConstants, xlNumbers)
  For Each A In rg.Areas
    For Each cél In A.Cells
      cél.Value = Abs(cél.Value)
    Next cél
  Next A
Sair:
End Sub
Responder