Seite 1 von 1

Ganze Zeilen mit bestimmten Werten in Spalten löschen??

Verfasst: Di, 06.06.2006 23:35
von Timburton
Hallo ich suche ein Makro mit dem ich Ganze Zeilen mit bestimmten Werten in Spalten löschen kann.

Z.b. habe ca. 1000de zeilen in der in der Spalte [W] Nomad steht sowie in der Spalte (H) 3300 steht

diese möchte ich löschen lassen.

Gibt es vielleicht ein algemeine Befehl mit dem man es automatisch an Bedürfnisse anpassen kann??

Gruss

MArcus

Verfasst: Mi, 07.06.2006 00:22
von Stephan
Dieses Makro sollte das Gewünschte tun:

Code: Alles auswählen

Sub Main
oSheet = ThisComponent.CurrentController.getActiveSheet()
oCellCursor = oSheet.createCursor() 
oCellCursor.GotoEndOfUsedArea(True) 
letzte_Zeile = oCellCursor.getRangeAddress.EndRow
For i = 0 To letzte_Zeile
	If oSheet.GetCellByPosition(22, i).String = "Nomad" AND _
		oSheet.GetCellByPosition(7, i).Value = 3300 Then
		oSheet.Rows.removeByIndex(i,1)
		i = i - 1
		letzte_Zeile = letzte_Zeile - 1
	End If
Next i
End Sub



Gruß
Stephan

Verfasst: Mi, 07.06.2006 12:12
von Timburton
Hallo Stephan,

habe das Macro ausprobiert nur ist mein PC Wahrscheinlich zu langsam dafür, er stürzt leider beim Ausführen ab.

Kannst du mir den Code dass nur eine Spalte (22) kontrolliert wird und gelöscht sagen, vielleicht kommt er dann durch..

Gruss

MArcus

Verfasst: Do, 08.06.2006 22:41
von Stephan
habe das Macro ausprobiert


und wie? Noch 4 Stunden nach der Ausage hier, das Du es ausprobiert hast fragst Du in anderem Thread wie man ein Makro überhaupt startet. Ich verstehe leider nicht wie man ein Makro ausprobieren kann wenn man nicht weiß wie man es startet.
Kannst du mir den Code dass nur eine Spalte (22) kontrolliert wird und gelöscht sagen

Code: Alles auswählen

Sub Main 
oSheet = ThisComponent.CurrentController.getActiveSheet() 
oCellCursor = oSheet.createCursor() 
oCellCursor.GotoEndOfUsedArea(True) 
letzte_Zeile = oCellCursor.getRangeAddress.EndRow 
For i = 0 To letzte_Zeile 
   If oSheet.GetCellByPosition(22, i).String = "Nomad" Then 
      oSheet.Rows.removeByIndex(i,1) 
      i = i - 1 
      letzte_Zeile = letzte_Zeile - 1 
   End If 
Next i 
End Sub

Gruß
Stephan

Verfasst: Fr, 09.06.2006 17:38
von Timburton
Naja dass mit dem Absturz lag an meiner Fehlerhaften ausführung des Macros...:oops: :oops:

Nun hab ichs geschaft, bin ja leider absoluter neuling in dieser sache...

Vielen vielen Dank für das vorhergende Makro.


Ich probiere grade ein Makro zu basteln dass aus Case anweisungen besteht... hab mit einer Tabelle (Sverweis gearbeitet) nur leider lässt sich sowas schlecht als Makro realisieren.

Nun probier ich gerade das er mir prüft wenn in zeile Bier steht eine 3 in zelle 9 schreibt wenn wein steht soll er mir 4 schreiben usw...

Ich mach aber lieber nen neuen Tread auf

Gruss

MArcus

Verfasst: Mi, 14.06.2006 17:00
von Timburton
Hallo..

irgendwie krieg ich dein Makrocode nicht zum laufen, alle anderen Makrocodes die ich erstellt habe funktionieren einwandfrei, doch dieses hat bei mir keine Funktion.

Muss ich irgendwas einstellen dass er das makro startet?

ich hab es einfach in den MAkroverwalten eingefügt und ausgeführt.

Die spalten werden nicht gelöscht...

Mfg

Marcus