Bij mij ontstaat er geen lege regel net onder de veldnaam. Ik herken het wel, heeft iets met sorteren te maken. Onderstaand antwoord op je vragen plus een stukje aanvulling van de macro die jouw probleem oplost.
Code:
[COLOR="Red"]Range(Selection, Selection.End(xlDown)).Select[/COLOR]
Deze regel, samen met de regel daarboven, selecteert je brontabel t/m de laatste regel. Je zou beide regels ook kunnen vervangen door
HTML:
Range("G5:G65000").Select
bij onderstaande stukje code vraag ik mij af waarom er 2 cellen (in het rood) gedeclareerd worden, cel G1 snap ik want dat is de veldnaam, maar waarom ook G2.
G2 is normaal gesproken het veld waar het selectiecriterium in komt te staan. Er staat nu niets in omdat alles geselecteerd moet worden, maar dan met unieke waardes. G2 is verplicht.
Code:
Range("G4:G21").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range( _
"[COLOR="Red"]G1:G2[/COLOR]"), CopyToRange:=Range("B5"), Unique:=True
bij onderstaande code word toch alleen geselecteerd van boven naar beneden? bij jouw opmerking bij de code (in het groen) schrijf jij dat hier de lege regels verwijderd worden, welk stukje zorgt ervoor, want mijn lege regel onder de veldnaam blijft nl.staan
Er wordt niet geselecteerd maar gesorteerd van boven naar beneden. De lege regel blijft bij mij niet staan, maar ik herken dat wel.
Code:
Selection.Sort Key1:=Range("B6"), Order1:=xlAscending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Voeg deze code toe aan het einde van de macro en het is opgelost:
HTML:
' Selecteer vanaf regel 7 t/m einde en kopieer deze
Range("B7:B65000").Select: Selection.Copy
' Ga naar regel 6 en plak
Range("B6").Select
ActiveSheet.PasteSpecial Format:=3, Link:=1, DisplayAsIcon:=False, _
IconFileName:=False
' kopieer de opmaak van regel 7 naar regel 6
Range("B7").Select
Selection.Copy
Range("B6").Select
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False