Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  Excel
  Zeile einblenden (+) & Zeile ausblenden (-)

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:   Zeile einblenden (+) & Zeile ausblenden (-) (2609 mal gelesen)
AndreasBo
Mitglied
TZ & Konstruktion


Sehen Sie sich das Profil von AndreasBo an!   Senden Sie eine Private Message an AndreasBo  Schreiben Sie einen Gästebucheintrag für AndreasBo

Beiträge: 855
Registriert: 16.11.2006

********
Wenn am Anfang alles schief geht,
nenne es Version 1.0!

erstellt am: 19. Mai. 2009 07:57    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Guten Morgen,
bräuchte mal einen kleinen Schubs.
Ich habe einen Bereich von 5 Zeilen. In der Tabelle habe ich 2 Buttons (+ & -).
Wenn ich nun auf (+) klicke soll vom Bereichbeginn jeweils eine weitere Zeile eingeblendet werden.
Wenn ich nun auf (-) klicke, soll jeweils die letzte eingeblendete Zeile vom Bereich ausgeblendet werden.

Das mit dem (+) funktioniert schon mal, nur mit dem (-) bekomme ich es nicht hin.

Code für (+) Button

Code:
Public Sub Cmd_Extr_Add_Click()
Dim rng As Range
Dim intZeilen As Integer

Application.ScreenUpdating = False
    For Each rng In Range("ZeilenExtras")
        If intZeilen = 1 Then Exit For
            If rng.EntireRow.Hidden = True Then
                rng.EntireRow.Hidden = False
                intZeilen = intZeilen + 1
        End If
    Next
Application.ScreenUpdating = True

End Sub


Wie also bekomme ich das mit dem (-)Button hin.

THX
Andreas

------------------
  Ich nutze Boardsuche | Google | Netiquette

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Paulchen
Mitglied
Bauing./SW-Entwickler


Sehen Sie sich das Profil von Paulchen an!   Senden Sie eine Private Message an Paulchen  Schreiben Sie einen Gästebucheintrag für Paulchen

Beiträge: 1227
Registriert: 19.08.2004

Büro: Win10 Enterprise 64bit, Office Professional Plus 2013 - Privat: Linux Mint 15, LibreOffice

erstellt am: 19. Mai. 2009 08:16    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für AndreasBo 10 Unities + Antwort hilfreich

Guten Morgen,

mal so ins Blaue hinein und ungetestet: Mach aus den zwei Schaltern einen ("Toggle-Button"). Code dazu gibts z. B. im Beitrag nebenan.

Die Abfrage zum ein/ausblenden wäre dann evtl.

Code:
rng.EntireRow.Hidden = Not rng.EntireRow.Hidden
HTH
Frederik

------------------
DIN1055.de  |  Lastannahmen für Anwender NEU: Foren zu DIN 1055

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

AndreasBo
Mitglied
TZ & Konstruktion


Sehen Sie sich das Profil von AndreasBo an!   Senden Sie eine Private Message an AndreasBo  Schreiben Sie einen Gästebucheintrag für AndreasBo

Beiträge: 855
Registriert: 16.11.2006

********
Wenn am Anfang alles schief geht,
nenne es Version 1.0!

erstellt am: 19. Mai. 2009 09:54    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Zitat:
Original erstellt von Paulchen:
Guten Morgen,

mal so ins Blaue hinein und ungetestet: Mach aus den zwei Schaltern einen ("Toggle-Button"). Code dazu gibts z. B. im Beitrag nebenan.

Die Abfrage zum ein/ausblenden wäre dann evtl.

Code:
rng.EntireRow.Hidden = Not rng.EntireRow.Hidden
HTH
Frederik

Das finde ich nicht so Praktisch für diese Tabelle.
Es soll so sein, dass wenn ich den Button(+) anklicke die eine Zeile eingeblendet wird. Klicke ich (+) nochmal soll die nächste zeile eingeblendet werde, usw.
Wenn ich nun (-) anklickke, wird die letzte eingeblendete Zeile Ausgeblendet. Klicke ich nun nochmal (-), so wird nun wiederum die letzte eingebledete Zeile ausgeblendet, solange bis der gesammte Breeich ausgeblendet wird.

Ich hoffe es ist so verständlich ausgedrückt!?!

Gruß
Andreas

------------------
  Ich nutze Boardsuche | Google | Netiquette

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

AndreasBo
Mitglied
TZ & Konstruktion


Sehen Sie sich das Profil von AndreasBo an!   Senden Sie eine Private Message an AndreasBo  Schreiben Sie einen Gästebucheintrag für AndreasBo

Beiträge: 855
Registriert: 16.11.2006

********
Wenn am Anfang alles schief geht,
nenne es Version 1.0!

erstellt am: 19. Mai. 2009 10:02    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


Zeile_EIN_AUS.zip

 
Ich hab hier mal ein Beispiel angehängt um das ganze etwas zu verdeutlichen!

------------------
  Ich nutze Boardsuche | Google | Netiquette

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Paulchen
Mitglied
Bauing./SW-Entwickler


Sehen Sie sich das Profil von Paulchen an!   Senden Sie eine Private Message an Paulchen  Schreiben Sie einen Gästebucheintrag für Paulchen

Beiträge: 1227
Registriert: 19.08.2004

Büro: Win10 Enterprise 64bit, Office Professional Plus 2013 - Privat: Linux Mint 15, LibreOffice

erstellt am: 19. Mai. 2009 10:33    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für AndreasBo 10 Unities + Antwort hilfreich

Du musst für das Ausblenden der untersten Zeile im Bereich die letzte Zeilen-Nummer im Bereich ermitteln.
Code:
Public Sub Cmd_Extr_Sub_Click()
Dim rng As Range

Application.ScreenUpdating = False
    Set rng = Range("B5").End(xlDown)
    rng.Rows(rng.Rows.Count).Hidden = True
Application.ScreenUpdating = True

End Sub


TakeFocusOnClick der Buttons auf False setzen?

[Edit: Bevor der Meister wieder schimpft  : rng.Rows(rng.Rows.Count).EntireRow.Hidden = True ohne das .EntireRow reicht völlig aus /Edit]

------------------
DIN1055.de  |  Lastannahmen für Anwender NEU: Foren zu DIN 1055

[Diese Nachricht wurde von Paulchen am 19. Mai. 2009 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

AndreasBo
Mitglied
TZ & Konstruktion


Sehen Sie sich das Profil von AndreasBo an!   Senden Sie eine Private Message an AndreasBo  Schreiben Sie einen Gästebucheintrag für AndreasBo

Beiträge: 855
Registriert: 16.11.2006

********
Wenn am Anfang alles schief geht,
nenne es Version 1.0!

erstellt am: 19. Mai. 2009 10:37    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

 
Zitat:
Original erstellt von Paulchen:
TakeFocusOnClick der Buttons auf False setzen?

Was soll das bewirken und wo wird es eingefügt?

EDIT:
Hab es verstanden. Erst denken dann fragen!!!

------------------
    Ich nutze Boardsuche | Google | Netiquette

[Diese Nachricht wurde von AndreasBo am 19. Mai. 2009 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

AndreasBo
Mitglied
TZ & Konstruktion


Sehen Sie sich das Profil von AndreasBo an!   Senden Sie eine Private Message an AndreasBo  Schreiben Sie einen Gästebucheintrag für AndreasBo

Beiträge: 855
Registriert: 16.11.2006

********
Wenn am Anfang alles schief geht,
nenne es Version 1.0!

erstellt am: 19. Mai. 2009 10:56    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Zitat:
Original erstellt von Paulchen:
Code:
Set rng = Range("B5").End(xlDown)

Wenn hier in B10 etwas drin steht, dann wird diese Zeile mit gewertet.
Dies soll aber nicht geschehen. Es sind nur die Zeilen von B5 bis B9 betroffen.

------------------
  Ich nutze Boardsuche | Google | Netiquette

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Paulchen
Mitglied
Bauing./SW-Entwickler


Sehen Sie sich das Profil von Paulchen an!   Senden Sie eine Private Message an Paulchen  Schreiben Sie einen Gästebucheintrag für Paulchen

Beiträge: 1227
Registriert: 19.08.2004

Büro: Win10 Enterprise 64bit, Office Professional Plus 2013 - Privat: Linux Mint 15, LibreOffice

erstellt am: 19. Mai. 2009 11:37    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für AndreasBo 10 Unities + Antwort hilfreich

Zitat:
Wenn hier in B10 etwas drin steht, ...
Das war in Deinem Beispiel nicht der Fall :D  - Einen Hinweis hast Du ja jetzt: Letzte Zeile im Bereich ermitteln und diese ausblenden. Vorschlag:
Code:
Public Sub Cmd_Extr_Sub_Click()
Dim rng As Range
Dim i As Integer

Application.ScreenUpdating = False
     
    Set rng = Range("B5:B9")
'    Debug.Print rng.Rows.Count
   
    'Erste ausgeblendete Zeile von oben:
    For i = 1 To rng.Rows.Count
        If rng.Rows(i).Hidden = True Then Exit For
        'Die Zeile i IST ausgeblendet...
'        Debug.Print "i: " & i
    Next i
    If i > 1 Then rng.Rows(i - 1).Hidden = True
    '... deshalb eine OBERHALB von i ausblenden - ausser,
    ' es ist die erste Zeile (Spaltenbeschriftungen)
   
Application.ScreenUpdating = True

End Sub


------------------
DIN1055.de  |  Lastannahmen für Anwender NEU: Foren zu DIN 1055

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

AndreasBo
Mitglied
TZ & Konstruktion


Sehen Sie sich das Profil von AndreasBo an!   Senden Sie eine Private Message an AndreasBo  Schreiben Sie einen Gästebucheintrag für AndreasBo

Beiträge: 855
Registriert: 16.11.2006

********
Wenn am Anfang alles schief geht,
nenne es Version 1.0!

erstellt am: 19. Mai. 2009 13:01    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

DANKE 
Funktioniert super 

------------------
  Ich nutze Boardsuche | Google | Netiquette

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2020 CAD.de | Impressum | Datenschutz