Seite 1 von 1

GELÖST - Zeile löschen Makro funktioniert nur fast

Verfasst: Mi, 16.12.2015 11:59
von daswarwas
Hallo an alle,

nachdem mir die Suchfunktion in diesem Forum bei einigen Aufgaben bereits wunderbar geholfen hat, stehe ich nun vor einem kleinen (sicher lächerlichen) Problem. Ich habe das folgende Makro geschrieben und habe das Problem, dass immer die Zeile unter der angegebenen gelöscht wird. Die Zählung in Basic entspricht ja wohl nicht der Nummerierung in der Tabelle (fängt bei 0 an, nicht bei 1). Jetzt sind meine Kenntnisse aber leider so rudimentär, dass ich nicht weiss, wie ich die Zahl "i" im Makro um 1 verkleinern kann...kann jemand helfen?

Danke und Gruß, Heiko

Sub DELETErow
Dim oDoc as Object, oSheet as Object
Dim oZelle as Object
oDoc = ThisComponent
oSheet = oDoc.sheets(0)
oSheet.unprotect("Passwort")
Dim i As String
i = InputBox("Welche Zeile möchten Sie löschen", "Löschvorgang")
If i = "" Then Exit Sub
osheet.rows.removeByIndex(i,1)
oSheet.protect("Passwort")
End Sub

Re: Zeile löschen Makro funktioniert nur fast

Verfasst: Mi, 16.12.2015 13:58
von Karolus
Hallo

Gewöhnlich verkleinert man eine Zahl um 1, indem man von der Zahl 1 subtrahiert.

Code: Alles auswählen

osheet.rows.removeByIndex(i-1,1)

Re: Zeile löschen Makro funktioniert nur fast

Verfasst: Mi, 16.12.2015 14:34
von daswarwas
Hallo Karolus,

vielen Dank für Deine Rückmeldung. Das hatte ich natürlich schon versucht...allerdings mit der Fehlermeldung "Unzulässiger Wert oder Datentyp. Datentypen unverträglich."

Deshalb kam ich da nicht weiter und habe die Frage ins Forum gestellt...

Was läuft da falsch?

Danke und Gruß, Heiko

Re: Zeile löschen Makro funktioniert nur fast

Verfasst: Mi, 16.12.2015 14:58
von Karolus
Hallo

Was glaubst du, bewirkt `Dim i As String`

Karolus

Re: Zeile löschen Makro funktioniert nur fast

Verfasst: Mi, 16.12.2015 15:19
von daswarwas
Hallo,

Wie gesagt, mein Wissen ist rudimentär und ich taste mich da gerade ran. Zusammensuchen von Informationen, "Try and Error"...

Wenn ich es richtig verstehe, dann definiert DIM mir eine Variable und das STRING steht wohl dafür, dass die Variable ein Textformat ist, richtig? Dann ist es also keine Zahl mehr...

Wenn ich das richtig gefolgert habe, dann weiss ich jetzt, weshalb es nicht funktioniert. Aber was ist die Lösung? Wenn die Variable als ZAHL definiert ist, dann klappt das Löschen der Zeile nicht, oder?

Danke und Gruß, Heiko

Re: GELÖST - Zeile löschen Makro funktioniert nur fast

Verfasst: Mi, 16.12.2015 16:35
von daswarwas
Ok. Nach ein wenig Suchen und dem Test mit Dim i As Integer hat es geklappt! Das passiert halt, wenn man mit Halbwissen aus diversen Suchergebnissen etwas zusammenbastelt...