oederdekoe
Gebruiker
- Lid geworden
- 2 mei 2013
- Berichten
- 17
Hoi allen
Ik heb wat code geschreven om een aantal processen te automatiseren, wat mij in de toekomst uren werk kan besparen.
Wat je wel moet weten is dat ik een absolute beginner ben op het gebied van VBA. :shocked:
Begin situatie : De tabbladen <<Personen, ENEJOJ, NIET, WEL tot nu, WEL totaal>> bevatten elks data die geimporteerd wordt vanuit cvs files.
Doel :
- de data op ieder tabblad converteren naar een table (check)
- de breedte van de kolommen aanpassen aan de inhoud (dit is waar ik vastloop)
- de data alfabetisch sorteren op kolom "Persoon" (check)
- het importeren van de content van de tabbladen moet nadien ook nog geautomatiseerd worden, but first things first (to do)
Enkel de kolombreedte van het eerste tabblad "Personen" wordt aangepast. Bij de anderen tabbladen gebeurt er niks. De code geeft thans geen error ofzo. En de rest van de code (sorteren op kolom Persoon) doet ie wel gewoon prima.
Ik ben ook begonnen met het opnemen van een macro, dus excel heeft die code quasi volledig zelf gecreëerd.
Ik begrijp dus niet wat het probleem is.
Iemand advies? Zie bestand in bijlage (heb data beetje aangepast ivm gevoelige info).
Hopelijk is mijn uiteenzetting voldoende duidelijk.
Bekijk bijlage BEV FORUM.xlsm
Ik heb wat code geschreven om een aantal processen te automatiseren, wat mij in de toekomst uren werk kan besparen.
Wat je wel moet weten is dat ik een absolute beginner ben op het gebied van VBA. :shocked:
Begin situatie : De tabbladen <<Personen, ENEJOJ, NIET, WEL tot nu, WEL totaal>> bevatten elks data die geimporteerd wordt vanuit cvs files.
Doel :
- de data op ieder tabblad converteren naar een table (check)
- de breedte van de kolommen aanpassen aan de inhoud (dit is waar ik vastloop)
- de data alfabetisch sorteren op kolom "Persoon" (check)
- het importeren van de content van de tabbladen moet nadien ook nog geautomatiseerd worden, but first things first (to do)
Enkel de kolombreedte van het eerste tabblad "Personen" wordt aangepast. Bij de anderen tabbladen gebeurt er niks. De code geeft thans geen error ofzo. En de rest van de code (sorteren op kolom Persoon) doet ie wel gewoon prima.
Ik ben ook begonnen met het opnemen van een macro, dus excel heeft die code quasi volledig zelf gecreëerd.
Ik begrijp dus niet wat het probleem is.
Code:
Sheets("Personen").Select
ActiveSheet.ListObjects.Add(xlSrcRange, Range("A1").CurrentRegion, , xlYes).Name = "Personen"
ActiveCell.Cells.Select
ActiveCell.Cells.EntireColumn.AutoFit
ActiveWorkbook.Worksheets("Personen").ListObjects("Personen").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Personen").ListObjects("Personen").Sort.SortFields. _
Add Key:=Range("Personen[[#All],[Persoon]]"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Personen").ListObjects("Personen").Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Sheets("EN EJ OJ").Select
ActiveSheet.ListObjects.Add(xlSrcRange, Range("A1").CurrentRegion, , xlYes).Name = "ENEJOJ"
ActiveCell.Cells.Select
ActiveCell.Cells.EntireColumn.AutoFit
ActiveWorkbook.Worksheets("EN EJ OJ").ListObjects("ENEJOJ").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("EN EJ OJ").ListObjects("ENEJOJ").Sort.SortFields. _
Add Key:=Range("ENEJOJ[[#All],[Persoon]]"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("EN EJ OJ").ListObjects("ENEJOJ").Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Iemand advies? Zie bestand in bijlage (heb data beetje aangepast ivm gevoelige info).
Hopelijk is mijn uiteenzetting voldoende duidelijk.
Bekijk bijlage BEV FORUM.xlsm
Laatst bewerkt: