in Tabelle mit Marco Zeilen löschen

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: in Tabelle mit Marco Zeilen löschen

von kannenklaus » Do, 06.04.2006 14:36

halllo thomas,

danke für den tipp; klappt wunderbar getActiveSheet ohne k.

danke nochmals

grüße klaus

von Toxitom » Do, 06.04.2006 14:18

Hey Klaus,
...wie muß der code geändert werden...

Code: Alles auswählen

oSheet = Doc.getSheets().getByName(Doc.currentcontroller.activeSheet.Name)
So erhälst du das aktuelle Blatt - ist aber riesig umständlich ???

Code: Alles auswählen

oSheet = oDoc.currentController.getAktiveSheet()
liefert das gleiche Objekt - und zwar direkt.

Gruss
Thomas

von kannenklaus » Do, 06.04.2006 13:50

hallo stephan,

bei diesem code-fragment wird immer nur ein und nicht das jeweils aktive blatt angesteuert

Code: Alles auswählen

oSheet = Doc.Sheets(Doc.currentcontroller.activeSheet.Name) 
wenn man ".Name" rausnimmt wird ein laufzeitfehler erzeugt. wie muß der code geändert werden, damit "Scheck" imm jeweils aktiven blatt gelöscht wird.?

grüße

klaus

von Stephan » Di, 04.04.2006 19:07

Code: Alles auswählen

Sub Main
Doc = ThisComponent
oSheet = Doc.Sheets(Doc.currentcontroller.activeSheet.Name)
oCellCursor = oSheet.createCursor() 
i=0
Do
	if oSheet.getCellByPosition(5,i).String = "Scheck" Then
			oSheet.Rows.removeByIndex(i,1)
		Else
			i=i+1
	End if
	oCellCursor.GotoEndOfUsedArea(True) 
	letzte_Zeile = oCellCursor.getRangeAddress.EndRow
Loop While i-1 < letzte_Zeile
End Sub

Gruß
Stephan

von Felixcate » Di, 04.04.2006 16:59

hey danke funktioniert !! wie kann ich den bezug auf das aktuelle document machen also die tabelle welche gerade offen ist? Doc.Sheets( ???? )

von Stephan » Di, 04.04.2006 16:36

ich möchte in meiner Tabelle mit einen VB Macro alle Zeilen löschen wo in Spalte F nicht der String "Scheck" steht.
VBA geht in OOo nicht (VB hingegen erzeugt keine Makros). In OOoBasic bzw. StarBasic geht es wenn die Tabellen den Namen "meineTabelle" hat so:

Code: Alles auswählen

Sub Main
Doc = ThisComponent
oSheet = Doc.Sheets("meineTabelle")
oCellCursor = oSheet.createCursor() 
i=0
Do
	if oSheet.getCellByPosition(5,i).String = "Scheck" Then
			oSheet.Rows.removeByIndex(i,1)
		Else
			i=i+1
	End if
	oCellCursor.GotoEndOfUsedArea(True) 
	letzte_Zeile = oCellCursor.getRangeAddress.EndRow
Loop While i-1 < letzte_Zeile
End Sub

Gruß
Stephan

in Tabelle mit Marco Zeilen löschen

von Felixcate » Di, 04.04.2006 14:20

Hallo

ich möchte in meiner Tabelle mit einen VB Macro alle Zeilen löschen wo in Spalte F nicht der String "Scheck" steht.

Wie kann ich das anstellen???

Danke schonmal!! :D

Nach oben