Diskussionsgruppe: Tabellenkalkulation
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:
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 "
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
Von: RalfH Datum: 01.03.2007, 12:52
Antwort 1
von nighty vom 01.03.2007, 13:09
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 vom 01.03.2007, 13:45
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 vom 01.03.2007, 14:20
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 vom 01.03.2007, 14:31
Super !!! Dankeschön. Gruß Ralf
|
07121
07122
07123
07124
07125
07126
07127
07128
|