Ajustei e ficou assim:
Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim valor As String
Dim i As Long
Dim j As Long
Dim l As Long
Dim k As Long
Dim h As Long
Dim qtd As Long
Dim destin() As Range
Dim intervalo() As Range
j = 4 'Coloque aqui a quantidade de intervalos que vai usar
ReDim intervalo(1 To j) As Range
ReDim destin(1 To j) As Range
Set intervalo(1) = Range("H5:I7") 'Para cada novo intervalo, repita essa linha, e aumente um numero no contador do intervalo
Set intervalo(2) = Range("H9:I11") 'Para cada novo intervalo, repita essa linha, e aumente um numero no contador do intervalo
Set intervalo(3) = Range("K5:L7") 'Para cada novo intervalo, repita essa linha, e aumente um numero no contador do intervalo
Set intervalo(4) = Range("K9:L11") 'Para cada novo intervalo, repita essa linha, e aumente um numero no contador do intervalo
Set destin(1) = Range("C5") 'coloque aqui a célula correspondente ao intervalo
Set destin(2) = Range("C7") 'coloque aqui a célula correspondente ao intervalo
Set destin(3) = Range("C9") 'coloque aqui a célula correspondente ao intervalo
Set destin(4) = Range("C11") 'coloque aqui a célula correspondente ao intervalo
For i = 1 To j
If Not Intersect(ActiveCell, intervalo(i)) Is Nothing Then GoTo DISTRIBUIR
Next i
Exit Sub
DISTRIBUIR:
qtd = 3 'digite aqui a quantidade de dígitos que quer considerar
k = destin(i).Row
h = destin(i).Column
valor = Replace(Format(CStr(ActiveCell.Value2), "0.00"), ",", "")
j = qtd - Len(valor)
l = 1
For i = h To qtd + h
If i < j Then
Cells(k, i).ClearContents
Else
Cells(k, i).Value2 = Mid(valor, l, 1)
l = l + 1
End If
Next i
End Sub
Sobre a formatação:
II) Fazer um macro com os mesmos atributos acima só que ao invés dos algarismos irem nessa ordem "0.00", eles fossem
dessa forma "00.0" . Na planilha igualei os valores das células pra você como fica.
vc mesmo pode alterar nessa linha:
valor = Replace(Format(CStr(ActiveCell.Value2), "0.00"), ",", "")
Para:
valor = Replace(Format(CStr(ActiveCell.Value2), "00.0"), ",", "")
Lembre-se de AGRADECER aos que te ajudaram, e de marcar o tópico como [Resolvido]
Gente que cuida de gente.
Gilmar
Postado : 06/02/2015 12:52 pm