Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Programmeren

[VBA] Excel Range.AutoFit

None
2 antwoorden
  • Hey,

    Met MS Access genereer ik een tweetal tabellen, welke ik vervolgens onder elkaar zet. Nu wil ik de breedte van de kolommen automatisch aanpassen adhv de inhoud.

    Daarvoor gebruik ik deze code:[code:1:cbdf3340bc]Dim objExcel As Object
    Dim objBook As Object

    Set objExcel = CreateObject("Excel.Application")
    Set objBook = objExcel.Workbooks.Open(Path)

    objBook.ActiveSheet.Range("A4:L" + Trim(Str(AantalRijen_Controle + 3)), " A" _
    + Trim(Str(AantalRijen_Controle + 7)) + ":L" + Trim(Str(AantalRijen_Controle + AantalRijen_Test + 6))).Select
    ' De range is dan: "A4:L7", "A11:L40"
    objExcel.Selection.Columns.AutoFit[/code:1:cbdf3340bc]Hij verkleint de kolommen echter aan de hand van range A4:L40.

    Hoe kan ik meerdere, niet aangesloten cellen vanuit Access selecteren?

    Bedankt!
  • Hoi Michiel, je notatie klopt niet helemaal. In je commentaar staat Range("A4:L7", "A11:L40"), je instructie is:

    objBook.ActiveSheet.Range("A4:L" + Trim(Str(AantalRijen_Controle + 3)), " A" _
    + Trim(Str(AantalRijen_Controle + 7)) + ":L" + Trim(Str(AantalRijen_Controle + AantalRijen_Test + 6))).Select

    Wat ik kan vereenvoudigen tot:

    objBook.ActiveSheet.Range("A4:L" + "000"[b:f7d7032717], "[/b:f7d7032717] A" _
    + "000" + ":L" + "000").Select

    Het vette stuk is niet goed (krijg je geen foutmelding?). De Range moet zijn:
    Range("A4:L7, A11:L40").Select

    dus de instructie:

    objBook.ActiveSheet.Range("A4:L" + Trim(Str(AantalRijen_Controle + 3)) + ", A" _
    + Trim(Str(AantalRijen_Controle + 7)) + ":L" + Trim(Str(AantalRijen_Controle + AantalRijen_Test + 6))).Select

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.