Avatar billede kim1a Ekspert
01. marts 2017 - 15:19 Der er 2 kommentarer og
1 løsning

VBA: Udfylde huller i en tabel med variabel længde

Jeg sidder og arbejder på en automatisering af noget indlæsning. Jeg laver et udtræk af data, når jeg skal ligge det over i en indlæsnings-template er det vigtigt at der er tre kolonner som ikke har huller. Det har jeg når udtrækket laves.

Hvordan udfylder man det nemmest? Dataen der skal stå deri er ens, så det er egentlig blot at identificere de huller der er.

Jeg tænkte først at jeg ville bruge autofilter, men hvordan ved jeg så hvor langt ned den skal indsætte (om der er 6 eller 18 linjer der mangler udfyldelse). Jeg gik således igang:

Sheets("Udtræk omsætning").Activate
Dim rngOmsArt As Range
rngOmsArt = _Application.WorksheetFunction.Match("OMSART", _Range("A1:S1"), 0)
Rows("1:1").Select
Selection.AutoFilter Field:=rngOmsArt, Criteria1:=""

Jeg vælger den omstændige vej til at definere kolonnen - men konkret er det altid kolonne K.

Men hvordan gør jeg det så nemmest - skal jeg have en variabel der sætter stop ved rækken hvor data slipper op?

Alternativt kunne jeg lave et loop som kontrollerer hver linje og sætter ind hvis den er tom - men der er omkring 10000 linjer, så måske det bliver for langsomt?

Slutteligt kan jeg måske programmere en form for ctrl pil ned løsning, og så lade den stoppe når den rammer bunden af antal rækker muligt.
Avatar billede excelent Ekspert
01. marts 2017 - 15:31 #1
Denne udskifter tomme celler i kolonne A med ?

Intersect(Range("A:A"), ActiveSheet.UsedRange).Replace "", "?", xlWhole
Avatar billede kim1a Ekspert
01. marts 2017 - 16:14 #2
Smukt. Jeg tænkte nok der var en simpel måde.

Usedrange er naturligvis defineret af det "array" Excel kan se i tabellen ikke? (Jeg testede det andetsteds og den gik laaangt ned :-)
Avatar billede excelent Ekspert
01. marts 2017 - 18:42 #3
Du kan teste med :

Intersect(Range("A:A"), ActiveSheet.UsedRange).Select
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester