Microsoft Excel

Herbers Excel/VBA-Archiv

wenn leere Zeilen(A51:A119); ausblenden

Betrifft: wenn leere Zeilen(A51:A119); ausblenden von: jens
Geschrieben am: 26.08.2004 17:16:57

Hallo zusammen,

habe eine Menge umständlichen Kram probiert, -es will mir nicht gelingen!

Ich übertrage per Button Daten von einem Sheet in ein anderes(ein Worbook),
dort möchte ich die leeren Zeilen ausgeblendet haben, damit man bei wenig
gefüllten Zeilen gleich die Summenzeile mit in der Ansicht hat (Bereich
(A51:A119)schiebt sich zusammen - Summenzeile kommt nach oben)

Hat dazu jemand ´ne Idee?
Gruß - Jens

  


Betrifft: AW: wenn leere Zeilen(A51:A119); ausblenden von: Berthold Grabe
Geschrieben am: 26.08.2004 18:50:17

Hallo Jens

Versuchs mal damit:
Ich habe vor den auszublendenden Zeilen einfache eine Spalte "benannt" und mich mit folgender Prozedur darauf bezogen, bei mir wird der Prozess durch eine Ereignisroutine angestoßen (worksheet_Change), du kannst sie ja an den Button hängen

Private Sub BlendeAusführen()
'Blendet die nicht verwendeten Zeilen im Ergebnis und Verlauf aus
Dim Zeilen As Range
Dim Letzte As Integer
Dim i As Integer, j As Integer
On Error Resume Next
    Application.ScreenUpdating = False
        Set Zeilen = ThisWorkbook.Sheets("Ergebnis").Range("ErgebnisBlende")
        For i = 1 To 53
            If Zeilen(i) = 1 Then
                ThisWorkbook.Sheets("Ergebnis").Rows(i).Hidden = False
            ElseIf Zeilen(i) = "" Then
                ThisWorkbook.Sheets("Ergebnis").Rows(i).Hidden = True
            End If
        Next i
        Set Zeilen = ThisWorkbook.Sheets("Verlauf").Range("VerlaufBlende")
        For j = 1 To 83
            If Zeilen(j) = 1 Then
                ThisWorkbook.Sheets("Verlauf").Rows(j).Hidden = False
            ElseIf Zeilen(i) = "" Then
                ThisWorkbook.Sheets("Verlauf").Rows(j).Hidden = True
            End If
        Next j
    Application.ScreenUpdating = True
    Set Zeilen = Nothing
End Sub


Gruß

Berthold


  


Betrifft: noch was vergessen von: Berthold Grabe
Geschrieben am: 26.08.2004 18:55:19

Hallo Jens,

ich war ein wenig zu schnell, du mußt natürlich im benannten Bereich der Exceltabelle eine Abfrage einbauen, ob die relevanten Zellen auch leer sind z.B:

=wenn(Zelle="";"";1)

meine Prozedur blendet alle Zeilen aus, welche im benannten Bereich keine 1 stehen haben.

Gruß

berthold


  


Betrifft: Danke Berthold, nur klappt es leider nicht von: Jens
Geschrieben am: 27.08.2004 12:03:56

Hallo,
vielen Dank für die Antwort.

Kann es sein das Du eine andere Excel-Version verwendest?
Mir fiel auf, dass da z.B. "Zeilen" und nicht "Rows" steht.
Soweit ich weiss, waren deutsche Begriffe nur in der älteren Version erlaubt?!
Ich benutze Excel8.0 (Office97)

sorry, leider sind meine Kenntnisse nicht ausreichend es (falls ich richtig liege)
dann umzuschreiben bzw. vor allem Deine 2. Antwort umzusetzen :-((

Ich merke, ich muss dringend eine neue Anfänger-Lektüre besorgen!!
(hab´ ja ein Buch, aber das ist leider alles andere als verständlich geschrieben!)

Gruß - Jens


  


Betrifft: AW: Danke Berthold, nur klappt es leider nicht von: andre
Geschrieben am: 29.08.2004 10:44:52

Hallo Jens,
das mit den Zeilen bei berthold hat nichts mit Deiner Vermutung zu tun. Berthold setzt hier eine Variable, und die hat er eben so genannt.
mach's so:
Private Sub BlendeAusführen()
'Blendet die nicht verwendeten Zeilen aus und die verwendeten ein
' (Entscheidungskriterium: Spalte A bzw hier A51 bis A119)
Dim i As Integer
    Application.ScreenUpdating = False
        For i = 51 To 119
            If Cells(i, 1) = "" Then
                Sheets("Tabelle1").Rows(i).Hidden = True 'leere ausblenden
            Else
                Sheets("Tabelle1").Rows(i).Hidden = False 'volle einblenden
            End If
        Next i
    Application.ScreenUpdating = True
End Sub




  


Betrifft: AW: wenn leere Zeilen(A51:A119); ausblenden von: MichiM
Geschrieben am: 28.08.2004 01:16:30

Hallo Jens,

weiss jetzt nicht, ob dui immer den gesamten Bereich, oder nur die leeren zellen in diesem Bereich ausgeblendet haben wolltest.

Folgender Code blendet den ganzen bereich aus, wenn Zelle A51 leer ist:

Sub Bereich_ausblenden()
'Tabellennamen anpassen
If Worksheets("Tabelle2").Range("A51") = "" Then
    Worksheets("Tabelle2").Select
    Rows("51:114").Select
    Selection.EntireRow.Hidden = True
End If
End Sub



lege diesen Code auf einen Button zum einblenden des Bereiches:

Sub Bereich einblenden()
Rows("50:115").Select
Selection.EntireRow.Hidden = False
End Sub


Gibt bestimmt eine bessere Lösung (ohne Recorder-Select), aber hier ist Urlaubszeit und die meisten Experten einfach nicht da, wenn man se braucht ;-)

Gruss
MichiM


 

Beiträge aus den Excel-Beispielen zum Thema "wenn leere Zeilen(A51:A119); ausblenden"