Experimente esta macro curta:
Sub MAIN2()
Dim r As Range, v, numb, letr
Dim i As Long, j As Long
Columns(1).SpecialCells(2).Copy Cells(2, 4)
Columns(4).RemoveDuplicates Columns:=1, Header:=xlNo
Columns(2).SpecialCells(2).Copy Cells(2, 5)
Columns(5).RemoveDuplicates Columns:=1, Header:=xlNo
Set r = Columns(5).SpecialCells(2)
r.Copy
Cells(1, 5).PasteSpecial Transpose:=True
r.Clear
For Each r In Columns(3).SpecialCells(2)
v = r.Value
numb = r.Offset(0, -2).Value
lett = r.Offset(0, -1).Value
For i = 2 To Rows.Count
If Cells(i, 4) = numb Then Exit For
Next i
For j = 5 To Columns.Count
If Cells(1, j) = lett Then Exit For
Next j
Cells(i, j) = v
Next r
End Sub
Asmacrossãomuitofáceisdeinstalareusar:
- ALT-F11exibeajaneladoVBE
- ALT-IALT-Mabreumnovomódulo
- coleomaterialefecheajaneladoVBE
Sevocêsalvarapastadetrabalho,amacroserásalvacomela.SevocêestiverusandoumaversãodoExcelposteriora2003,deverásalvaroarquivocomo.xlsmemvezde.xlsx
Pararemoveramacro:
- abrirajaneladoVBEcomoacima
- limpeocódigo
- fecheajaneladoVBE
ParausaramacrodoExcel:
- ALT-F8
- Selecioneamacro
- ToqueemEXECUTAR
Parasabermaissobremacrosemgeral,consulte:
e
As macros devem estar ativadas para que isso funcione!