• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Macro om werkblad op te maken

Status
Niet open voor verdere reacties.

xps351

Gebruiker
Lid geworden
22 jun 2022
Berichten
497
Besturingssysteem
W10
Office versie
M365
Ik heb een macro opgenomen om een werkblad netjes (als tabel) op te maken. Het Excelbestand wordt vanuit Access aangemaakt.
Het probleem is dat een vast aantal regels wordt geselecteerd. Het aantal regels kan echter per keer variëren. Het is een ledenbestand, dus er komen soms leden bij of er vallen leden af.

Wat moet ik op de rode regel veranderen om range variabel te maken?
Code:
Sub opmaken()

    Application.CutCopyMode = False
[COLOR=#ff0000]    ActiveSheet.ListObjects.Add(xlSrcRange, Range("$A$1:$L$99"), , xlYes).Name = _[/COLOR]
[COLOR=#ff0000]        "Tabel1"[/COLOR]
    Range("Tabel1[#All]").Select
    ActiveSheet.ListObjects("Tabel1").TableStyle = "TableStyleMedium9"
    Columns("A:A").EntireColumn.AutoFit
    Columns("B:B").EntireColumn.AutoFit
    Columns("B:B").Select
    With Selection
        .HorizontalAlignment = xlCenter
        .WrapText = False
        .Orientation = 0
        .AddIndent = False
        .IndentLevel = 0
        .ShrinkToFit = False
        .ReadingOrder = xlContext
        .MergeCells = False
    End With
    Columns("C:C").EntireColumn.AutoFit
    Columns("D:D").EntireColumn.AutoFit
    Columns("E:E").EntireColumn.AutoFit
    Columns("F:F").EntireColumn.AutoFit
    Columns("G:G").EntireColumn.AutoFit
    Columns("H:H").EntireColumn.AutoFit
    Columns("I:I").EntireColumn.AutoFit
    Columns("J:J").EntireColumn.AutoFit
    Columns("K:K").EntireColumn.AutoFit
    Columns("L:L").EntireColumn.AutoFit
    Columns("J:L").Select
    With Selection
        .HorizontalAlignment = xlCenter
        .WrapText = False
        .Orientation = 0
        .AddIndent = False
        .IndentLevel = 0
        .ShrinkToFit = False
        .ReadingOrder = xlContext
        .MergeCells = False
    End With
End Sub
 
nog steeds helpen we graag als er voorbeeldbestandje is.
 
Dit:
Code:
 Range("$A$1:$L$99")
vervangen door:
Code:
cells(1).currentregion
 
@HSV
Bedankt Harry, werkt perfect.

@emields
Ik weet dat het (vaak) helpt als je een voorbeeld meestuurt. In dit geval leek me dat niet nodig omdat het zo'n duidelijke vraag was :D. Bovendien was ik te lui om het bestand te anonimiseren :eek:
 
in VBA:

Code:
Sub M_snb()
    With Sheet1.ListObjects.Add(1, Sheet1.Cells(1).CurrentRegion, , 1)
       .TableStyle = "TableStyleMedium9"
       .Range.Columns.AutoFit
       .Range.Columns(2).HorizontalAlignment = -4108
       .Range.Columns(10).Resize(, 3).HorizontalAlignment = -4108
    End With
End Sub
 
of:
Code:
union(.range.columns(2),.range.columns(10).resize(,3)).[COLOR=#3E3E3E]HorizontalAlignment = -4108[/COLOR]
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan