Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Erste freie Zelle in Spalte A





Frage

Hallo, Aus MS Access heraus möchte ich das Ergebnis einer Abfrage in Excell exportieren. Dazu ist es nötig die erste freie Zelle in Spalte a zu finden, das soll hiermit gehen: [code]Dim objExcel As Excel.Application Dim xwei As String Dim xfeld As String Dim lastrow1 As Integer Dim i1 As Integer Set objExcel = New Excel.Application objExcel.Visible = True objExcel.Workbooks.Open ("C:\VersucheaufC\Wechselteile") xwei = objExcel.ActiveWorkbook.Sheets(1).Select ' 1. Tabellenblatt auswählen With objExcel.Range("A1") ' Anzahl Zeilen im Tabellenblatt ermitteln lastrow1 = .SpecialCells(xlCellTypeLastCell).Row End With i1 = lastrow1 + 1 objExcel.Cells(i1, 1) = " freie Zelle "[/code] Das Problem ist allerdings, das ab Zelle 68 nix drinne is, VBA aber zur Zelle 9999 springt. Ich bin leider kein Excel Spezi, hoffe daher auf Eure Hilfe. Gruß Ralf

Antwort 1 von nighty

hi ralf :-)

Sub makro01()

Rem letzte zeile eines sheets
Cells(1, 1) = ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row

Rem letze spalte eines sheets
Cells(2, 1) = ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Column

Rem letzte zeile einer spalte
Cells(3, 1) = ActiveSheet.Range("D" & Rows.Count).End(xlUp).Row

Rem letzte spalte einer zeile
Cells(4, 1) = ActiveSheet.Range("3:3").End(xlUp).Column
End Sub

gruss nighty

Antwort 2 von RalfH

Hallo nighty,
Vielen Dank für Deine Hilfe,
aber ich komme hier irgenntwie nicht weiter, wieso zeigt mir excel die Zeile 9999 an und nicht 68?
Gruß Ralf

Antwort 3 von nighty

hi ralf :-)

diesen abschnitt

With objExcel.Range("A1")
' Anzahl Zeilen im Tabellenblatt ermitteln
lastrow1 = .SpecialCells(xlCellTypeLastCell).Row
End With

gegen diese zeile tauschen

lastrow1 =ActiveSheet.Range("A" & Rows.Count).End(xlUp).Row

gruss nighty

Antwort 4 von RalfH

Super !!!
Dankeschön.
Gruß Ralf