Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

Gruppierungen schliessen

Betrifft: Gruppierungen schliessen von: Stef26
Geschrieben am: 01.11.2014 00:16:26

Hallo,
ich hab heute super Unterstützung vom Franz bekommen. DANKE nochmal dafür.
Ich habe eine mehrstufige Stückliste in Excel, die ich Dank Franz über ein Makro gruppieren lasse.

Ich würde gerne in der Spalte E nach dem Wort "Leiter*" suchen lassen.
Wird das Wort gefunden, so sollte eine Zeile höher die Gruppierung zugeklappt werden.
Hab dazu im Netz leider nichts gefunden, was mich weiterbringt.

Vielleicht könnte hier nochmals um Hilfe bitten?

Liebe Grüße
Stefan

  

Betrifft: AW: Gruppierungen schliessen von: Mullit
Geschrieben am: 01.11.2014 23:15:33

Hallo,

mit Application.match nach dem Wort suchen und die ZeilenNr. abgleichen.

Den so erhaltenen Bereich mit .Rows.Hidden = True schließen...

Gruß,


  

Betrifft: AW: Gruppierungen schliessen von: Stef26
Geschrieben am: 02.11.2014 08:48:01

Hallo,
danke für die Info.
Ich hab mir dank der Hilfe nun folgendes aufgebaut:

Sub Leiterplatte()
    Dim rng As Range
    Dim aNumber As Variant
    Dim rowNum As Variant
    Dim GruppZu As Variant

    aNumber = "Leiterplatte*"

    Set rng = Sheets("14416855").Range("E1:E2000")

    rowNum = Application.Match(aNumber, rng, 0)

    If Not IsError(rowNum) Then
        GruppZu = rowNum - 1
        Rows(GruppZu).EntireRow.Hidden = True
    Else
        MsgBox "error"
    End If
End Sub
Problem: Es wird zwar nach der Leiterplatte gesucht und gefunden. Aber wenn ich versuche mit
Row Hidden die Gruppierung zu zuklappen, dann macht er mir nicht die Gruppierung zu sondern blendet lediglich die Zeile aus, in der sich die Gruppierung befindet ????

Ich greife vermutlich nicht auf die Gruppierung zu ?????

???
Stefan




  

Betrifft: AW: Gruppierungen schliessen von: fcs
Geschrieben am: 03.11.2014 05:37:25

Hallo Stefan,

nach einigem Rumtüfteln hab ich mit folgendem Makro Erfolg gehabt.

Gruß
Franz

Sub Gliederung_Leiter_reduzieren()
  'Gliederung für Zeilen mit Leiter in Spalte E reduzieren
  Dim wks As Worksheet
  Dim Zeile As Long, Zeile_L As Long, varSuch As Variant
  
  Set wks = ActiveSheet
  varSuch = "Leiter*"
  
  With wks
    Zeile_L = .Cells(.Rows.Count, 1).End(xlUp).Row
    'Alle Zeilen-Hauptebenen mit "Leiter" in Spalte E reduzieren
    For Zeile = 2 To Zeile_L
      If .Rows.Hidden = False Then
      If .Cells(Zeile, 5).Text Like varSuch Then
            If .Cells(Zeile, 1) < .Cells(Zeile + 1, 1) Then
            If .Rows(Zeile).ShowDetail = True Then
                .Rows(Zeile).ShowDetail = False
            End If
            End If
      End If
      End If
    Next
  End With
End Sub



  

Betrifft: AW: Gruppierungen schliessen von: Stef26
Geschrieben am: 03.11.2014 18:01:46

Hallo Franz,
cool. Besten Dank !!!

Ich werds morgen gleich mal testen...

:-)
Stefan


 

Beiträge aus den Excel-Beispielen zum Thema "Gruppierungen schliessen"