Zeilen ausblenden und einblenden

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: Zeilen ausblenden und einblenden

von kannenklaus » Do, 07.12.2006 12:23

hallo peter,
Allerdings scheint mir iRowL = Cells(Rows.Count, 4).End(xlUp).Row
ungleich praktischer.
excel bietet da einfach mehr objekte mit methoden und eigenschaft. der vorteil bei oo basic ist, das nicht alles in einem objekt gekapselt ist und der lerneffekt insges. größer ist.

grüße

klaus

von Peter Z. » Do, 07.12.2006 12:07

Hallo Klaus, vielen dank für die Lösung. Ich werde beide Versionen mal testen. Allerdings scheint mir iRowL = Cells(Rows.Count, 4).End(xlUp).Row
ungleich praktischer.

Karo> Keine Spezialversion. Paketinstallation unter ubunutu per adept.

von kannenklaus » Do, 07.12.2006 08:32

hallo peter,
Du schreitest jetzt nur bis Zeile 100 ab, kann man die tatsächlich benutzte
Zeilenzahl ermitteln?
du musst einen cursor erzeugen, der bis zum ende der letzten zeile geht und diesen wert einer variablen übergeben. in u.g. beispiel sind dies die variablen dblAnf für die erste zeile und dblEnde für die letzte zeile.

Code: Alles auswählen

Dim oSheet as object, oCur as object
Dim dblAnf as double, dblEnde as double
oSheet = thisComponent.CurrentController.getActiveSheet'dein aktives Blatt
oCur =oSheet.createCursorbyRange(oSheet.getCellRangeByName("A1"))
oCur.gotoStartofUsedArea(true)
oCur.getRangeAddress.startRow
dblAnf = oCur.getRangeAddress.startRow 'Index der ersten Zeile

oCur.gotoEndofUsedArea(true)
oCur.getRangeAddress.endRow
dblEnde = oCur.getRangeAddress.endRow 'Index der letzten Zeile
grüße

klaus

von Karolus » Do, 07.12.2006 07:10

Hallo Peter

Wenn der VBA-Code bei dir funktioniert, dann verwende ihn doch !
Darf man fragen mit welcher Spezialversion von OOo-basic dir das gelingt ?

Gruß Karo

von Peter Z. » Mi, 06.12.2006 23:42

der Richtigkeit muss ich jetzt anfügen, dass ich einen Fehler bei der Buttonzuordnung gefunden habe. D.h. der VBA-Support funktioniert! Die Funktion wurde doch korrekt übersetzt, und funktioniert. Spricht etwas dagegen sie zu verwenden?

von Peter Z. » Mi, 06.12.2006 23:26

ui das ging ja schnell vielen Dank Karolus!

Du schreitest jetzt nur bis Zeile 100 ab, kann man die tatsächlich benutzte
Zeilenzahl ermitteln?

von Karolus » Mi, 06.12.2006 22:49

Hallo Peter und Klaus

Wenn ich das richtig lese sollen da Zeilen ausgeblendet werden, wenn in Spalte E ein Nullwert steht.

Code: Alles auswählen

Sub HideBlankRows
oDoc = thisComponent
osheet = odoc.sheets(0)

for i = 0 to 100
oCell = osheet.getCellByPosition(4, i)
if oCell.value = 0 then
oCell.rows.isVisible = false
else oCell.rows.isVisible = true
end if
next

End Sub
Gruß Karo

von kannenklaus » Mi, 06.12.2006 21:44

hallo peter,

sag mal genauer was du tun willst (welche zellen sollen ausgeblendet werden etc.)

grüße

klaus

Zeilen ausblenden und einblenden

von Peter Z. » Mi, 06.12.2006 21:00

Hallo liebe Community,

ich bin vor kurzem komplett auf Linux umgestiegen, nun ist es an der Zeit alte Makros umzuschreiben. Um damit mal einzusteigen habe ich hier ein einfaches Script... so sieht es nach dem Import von Excel in OO aus.
Den Printbefehl habe ich auskommentiert, so bringt er mir zumindest
keine Fehlermeldung mehr. Es kommt zwar keine Fehlermeldung mehr, die Funktion bleibt aber aus.... :wink:

Ich nehme an, dass er den Syntax nur scheinbar gut findet.

Code: Alles auswählen

Rem Attribute VBA_ModuleType=VBADocumentModule
Option VBASupport 1
Private Sub CommandButton1_Click()
 Dim iRowL As Integer, iRow As Integer
   iRowL = Cells(Rows.Count, 4).End(xlUp).Row
   For iRow = 1 To iRowL
      If Cells(iRow, 4).Value = 0 Then
         Rows(iRow).Hidden = True
      End If
   Next iRow
   'ActiveSheet.PrintPreview
   'Rows.Hidden = False
End Sub

Private Sub CommandButton2_Click()
Rows.Hidden = False
End Sub



Für jede Hilfe bin ich dankbar!! :P

Gruß,
Peter

Nach oben