Letzte benutzte Zeile einer Spalte ermitteln?

Antwort erstellen


Um automatische Eingaben zu unterbinden, musst du die nachfolgende Aufgabe lösen.

BBCode ist eingeschaltet
[img] ist ausgeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Letzte benutzte Zeile einer Spalte ermitteln?

Re: Letzte benutzte Zeile einer Spalte ermitteln?

von Gast » Mi, 15.08.2018 11:47

Hallo weiß nicht was ich falsch gemacht habe aber jetzt geht es.

Re: Letzte benutzte Zeile einer Spalte ermitteln?

von Gast » Mi, 15.08.2018 10:05

Hallo Stephan,

habe die Kompatibilitätsoption auch aktiv und es geht solange ich die Datei nicht erneut öffne. Wenn ich dann die Datei erneut öffne bekomme ich folgende Fehlermedung:

BASIC-Laufzeitfehler
Objektvariabele nicht belegt.

Mache ich in den Code eine leerzeile läuft es wieder bis ich die Datei erneut öffne! Dann selbe meldung.

Re: Letzte benutzte Zeile einer Spalte ermitteln?

von Stephan » Mi, 15.08.2018 09:35

Jetzt hab ich das etwas umgewandelt aber geht noch nicht weil es nicht mit Openoffce kompatiebel ist :-(
bei mir erweist sich AOO 4.1.5 so kompatibel dass es sogar ohne jede Anpassung läuft, allein durch Hinzufügen der Kompatibilitätsoption (Option VBASupport 1), was AOO auch automatisch tut, wenn man die xls-DAtei direkt in AOO öffnet.

Code: Alles auswählen

Option VBASupport 1
Private Sub CommandButton1_Click()

 Worksheets("RAM").Range("A1:BW300").ClearContents

 'Ab Zeile 2 alle gefilterten Zeilen bis Spalte "D" kopieren
 ' -> das "D" bitte an Deine Tabelle anpassen
 ActiveSheet.Range("A2:BW" & ActiveSheet.UsedRange.Rows.Count). _
 SpecialCells(xlCellTypeVisible).Copy

 '...und ab "A2" in Tabelle2 einfügen
 Worksheets("RAM").Range("A1").PasteSpecial

 MsgBox "Immer nur die erste Zeile 2 wird gedruckt!"

End Sub

Gruß
Stephan

Re: Letzte benutzte Zeile einer Spalte ermitteln?

von J.BORGER2 » Mi, 15.08.2018 08:03

Danke dir!!! Ja war ein Objekt.
Soory bin recht neu auf dem Gebiet unterwegs...

Eine andere Frage noch:

Muss einen Aktiven Bereich in ein neues Tabellenblatt kopieren... in Exel habe ich das mit folgenden Code gemacht:


Private Sub CommandButton1_Click()

Worksheets("RAM").Range("A1:BW300").ClearContents

'Ab Zeile 2 alle gefilterten Zeilen bis Spalte "D" kopieren
' -> das "D" bitte an Deine Tabelle anpassen
ActiveSheet.Range("A2:BW" & ActiveSheet.UsedRange.Rows.Count). _
SpecialCells(xlCellTypeVisible).Copy

'...und ab "A2" in Tabelle2 einfügen
Worksheets("RAM").Range("A1").PasteSpecial

MsgBox "Immer nur die erste Zeile 2 wird gedruckt!"

End Sub


Jetzt hab ich das etwas umgewandelt aber geht noch nicht weil es nicht mit Openoffce kompatiebel ist :-(

Lösung bis jetzt:

oCalc = thisComponent
oSheet = oCalc.Sheets().getByName("RAM")
oCellRange = osheet.getCellRangeByName("A1:BW300")

'Ab Zeile 2 alle gefilterten Zeilen bis Spalte "D" kopieren
' -> das "D" bitte an Deine Tabelle anpassen
ActiveSheet.Range("A2:BW" & ActiveSheet.UsedRange.Rows.Count). _
SpecialCells(xlCellTypeVisible).Copy

'...und ab "A2" in Tabelle2 einfügen
Worksheets("RAM").Range("A1").PasteSpecial

MsgBox "Immer nur die erste Zeile 2 wird gedruckt!"

End Sub

Von der Seite (http://www.dannenhoefer.de) sind das feste Bereiche... aber kein aktiver bereich.... schaffe die ableitung bis jetzt noch nicht :

oDocument = ThisComponent
oSheet1 = oDocument.Sheets().getByName("Tabelle1")
oSheet2 = oDocument.Sheets().getByName("RAM")
oQuelleRange=oSheet1.getCellRangeByPosition(0,0,3,4)
oQuellRangeAddresse = oQuelleRange.getRangeAddress
oZiel = oSheet2.getCellByPosition(0,0)
oZielCellAdresse=oZiel.getCellAddress
oSheet2.copyRange(oZielCellAdresse,oQuellRangeAddresse)

Re: Letzte benutzte Zeile einer Spalte ermitteln?

von mikeleb » Di, 14.08.2018 17:49

Hallo,
Müßte das in eine integer wandeln...
Wieso?
oletzter ist ein long Typ?
Nein, oletzter ist ein Objekt (der letzte leere Bereich)!
Wenn du die Nummer der letzten benutzten Zeile explizit als Integer haben möchtest, kannst du sie zu Beginn so deklarieren.

Code: Alles auswählen

DIM iLetzteZeile AS Integer
...
iLetzteZeile=oletzter.rangeaddress.startrow-1 

Re: Letzte benutzte Zeile einer Spalte ermitteln?

von J.BORGER2 » Di, 14.08.2018 07:23

TOP DANKE!!
oletzter ist ein long Typ?
Müßte das in eine integer wandeln...

Wie stelle ich das am besten an?

Re: Letzte benutzte Zeile einer Spalte ermitteln?

von mikeleb » Fr, 10.08.2018 13:17

Hallo,
z. B. so

Code: Alles auswählen

	odoc=Thiscomponent.Sheets(0)
	ozeile=odoc.Columns(0)
	'leere Bereiche finden
	oleer=ozeile.queryemptycells
	oletzter=oleer(oleer.count-1)
	'letzte nichtleere Zeile
	msgbox oletzter.rangeaddress.startrow-1

Letzte benutzte Zeile einer Spalte ermitteln?

von J.BORGER2 » Fr, 10.08.2018 12:43

Hallo,

Ich muß die letzte benutzte Zeile einer Spallte ermitteln und übergeben leider komme ich auf keine Lösung:

Mit folgendenm Code bekomme ich nur die letzte benutzte Zeile einer ganzem Tabelnblatt übergeben:

oCursor = thisComponent.sheets(0).createCursor()
oCursor.goToEndOfUsedArea(False)
msgbox oCursor.getRangeAddress.EndRow

Wie stelel ich dass am besten an wenn ich die Funktion nur für eine Spalte brauche?

Nach oben