Este código criará uma macro para mover seus dados com base na letra que precede o número em cada célula da coluna B
. Cole isto no VBA Explorer ( Alt + F11 ) e aparecerá na janela de macros como MoveData
.
Você verá o código em cada célula para ver qual é o caractere mais à esquerda. Se for um k
, o conteúdo da célula é copiado para o lugar da célula 1 à direita (coluna C), então limpa a célula original. Se o caractere for um g
, ele será copiado para a célula 2 locais à direita (coluna D) e, em seguida, limpará a célula original.
Sub MoveData()
Dim myrange, cell As Range
Set myrange = ActiveSheet.Range("B:B", Range("B:B").End(xlDown))
For Each cell In myrange
If Left(cell.Value, 1) = "k" Then
cell.Offset(0, 1).Value = cell.Value
cell.ClearContents
ElseIf Left(cell.Value, 1) = "g" Then
cell.Offset(0, 2).Value = cell.Value
cell.ClearContents
End If
Next cell
'Delete empty cells in column C
Columns("C:C").Select
Selection.SpecialCells(xlCellTypeBlanks).Select
Selection.Delete Shift:=xlUp
'Delete empty cells in column D
Columns("D:D").Select
Selection.SpecialCells(xlCellTypeBlanks).Select
Selection.Delete Shift:=xlUp
ActiveSheet.Range("A1").Select
End Sub
Você pode alterar os valores que procura modificando as "k"
ou "g"
nas declarações IF
.
Aviso: Use por sua conta e risco. Faça uma cópia de backup do seu trabalho. Não nos responsabilizamos por quaisquer dados perdidos.