Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Aus Access heraus Exceltabelle einrichten

Begonnen von Doming, November 19, 2025, 08:36:47

⏪ vorheriges - nächstes ⏩

Doming

Hallo,

die Suchmaschinen verstehen mich nicht, ich lande immer auf Excelseiten....

Ich exportiere aus Access heraus Daten in eine Exceltabelle:
DoCmd.TransferSpreadsheet acExport, 10, "tmpQuery", ExcelDatNam, True, "Tabellenname"
Dann öffne ich die Tabelle und passe die Spaltenbreiten an.

        On Error Resume Next
        Set xlApp = GetObject(, "Excel.Application")
        If xlApp Is Nothing Then
            Set xlApp = CreateObject("Excel.Application")
        End If
        On Error GoTo Fehler
        xlApp.Visible = True
        Set xlBook = xlApp.Workbooks.Open(ExcelDatNam)
        Set xlSheet = xlBook.Worksheets(ExcelTabNam)
        With xlSheet
            .Columns("A:K").AutoFit
            .Rows("2:2").Select
            .ActiveWindow.FreezePanes = True
        End With

Der Code läuft zwar durch, die Spaltenbreite wird angepasst, aber das FreezePanes wird nicht ausgeführt.
Übersehe ich was oder ist das von Access aus nicht möglich?

Gruß
 Doming

Doming

Edit: OK, der Code läuft nicht durch... kommt davon, wenn man die Fehlermeldungen abfängt
      Bei FreezePanes kommt der Fehler 438 - Objekt unterstützt diese Eigenschaft oder Methode nicht
      egal ob mit oder ohne ActiveWindow

mmarschner

Hallo Doming,

ich habe das so bei mir gelöst:

...
winCount = ExcelObj.Parent.Windows.Count()
ExcelObj.Parent.Windows(winCount).Visible = True
...
ExcelObj.Parent.Windows(winCount).FreezePanes = True
...

Mit .ActiveWindow in With-Schleifen habe ich immer wieder Probleme gehabt.

Vielleicht hilft Dir das ja so weiter.

Gruß
Michael

Bitsqueezer

Hallo,

vielleicht hilft Dir das weiter:
https://www.statology.org/vba-freeze-panes/

ActiveWindow muß natürlich passen.

Gruß

Christian