Hallo,
ich bin auf der Suche nach einem Makro das mir die Zeilen ausblendet wenn der Bereich A4:smiley:400 leer ist.
Habt Ihr Vorschläge für mich ?
Vielen Dank
Hallo,
ich bin auf der Suche nach einem Makro das mir die Zeilen ausblendet wenn der Bereich A4:smiley:400 leer ist.
Habt Ihr Vorschläge für mich ?
Vielen Dank
Hi,
wirf den Makrorekorder an. Zeichne das Ausblenden der Zeilen auf. Poste den Code hier - aber bitte mit Pre-Tag -, dann kann man Dir helfen, die Bedingung einzufügen.
M.
Habt Ihr Vorschläge für mich ?
ThisWorkbook.Worksheets(„Druck Version“).Columns(„P:stuck_out_tongue:“).EntireColumn.Hidden = False
etwas anpassen wie range() und namen der Tabelle
Hallo,
Hallo Rossi33,
ich bin auf der Suche nach einem Makro das mir die Zeilen
ausblendet wenn der Bereich A4:smiley:400 leer ist.
Das Makro ist kein Problem. Fraglich sind die Details. A4:smiley:400 hört sich nach einem statischen Bereich an. Kann mir aber nicht vorstellen, dass das tatsächlich so ist.
Habt Ihr Vorschläge für mich ?
Verstehe ich recht, dass Du alle Zeilen in dem genannten Bereich ausblenden willst, wenn die Spalten A bis D leer sind?
Vielen Dank
Wenn ich falsch liege gib mir Bescheid. Ansonsten werde ich das Makro so aufsetzen. Ausserdem empfehle ich Dir ein Makro, dass dieses Ausblenden bei Bedarf rückgängig macht.
Hast Du Erfahrung mit Aufrufen und Editieren von Makros?
MfG MwieMichel
Hallo Rossi33,
Makro das mir die Zeilen
ausblendet wenn der Bereich A4:smiley:400 leer ist.
Folgenden Code in die Entwicklungsumgebung kopieren:
Option Explicit
Sub AusBlenden()
’
’ Variablen deklarieren
Dim ASpalte As Long, ESpalte As Long, AZeile As Long, EZeile As Long
Dim IZeile As Long, ISpalte As Long, MaxZeile As Long, IInhalt As Integer
’
’ Variablen (Bereich) initialisieren
AZeile = 4
EZeile = 400
ASpalte = 1 'entspricht Spalte A
ESpalte = 4 'entspricht Spalte D
’
Application.ScreenUpdating = False
With ActiveWorkbook.ActiveSheet
MaxZeile = .UsedRange.Rows.Count
'MsgBox (MaxZeile)
If MaxZeile „“ Then
IInhalt = IInhalt + 1
'MsgBox ("IInhalt ist " & IInhalt)
End If
Next
If IInhalt = 0 Then
Rows(IZeile).EntireRow.Hidden = True
End If
Next
End With
Application.ScreenUpdating = True
End Sub
Sub EinBlenden()
’
’ Variablen deklarieren
Dim MaxZeile As Long
’
With ActiveWorkbook.ActiveSheet
MaxZeile = .UsedRange.Rows.Count
Rows(„1:“ & MaxZeile).Select
Selection.EntireRow.Hidden = False
Cells(1, 1).Select
End With
End Sub
Aufrufen der Makros über Alt+ F8, Editieren über Alt + F11. Über eine Bewertung oder Feedback würde ich mich freuen.
MfG MwieMichel
Grüezi Rossi
ich bin auf der Suche nach einem Makro das mir die Zeilen
ausblendet wenn der Bereich A4:smiley:400 leer ist.Habt Ihr Vorschläge für mich ?
Zähle in einer Hilfsspalte die Anzahl Einträge von Spalte A:smiley: und blende dann über den Autofilter alle Zeilen aus, die in der Hilfsspalte eine ‚0‘ haben.
Mit freundlichen Grüssen
Thomas Ramel
Hallo MwieMichel,
perfekt,dass Makro funktioniert so wie ich es gesucht habe. Im Bereich A4:smiley:400 ist das Ergebnis der Formeln dynamisch. Zur Zeit sind „noch“ keine Formeln hinterlegt, dies passiert Morgen. Hoffe das Makro funktioniert dann auch noch. Ich danke Dir vielmals
Gruss Rossi33
Hallo Rossi,
ich hoffe ich hab dich richtig verstanden.
Gruß
Franz
Sub ZeilenAusblenden()
Dim rngBereich As Range
Set rngBereich = ActiveSheet.Range("A4:smiley:400")
If rngBereich.Cells.Count = Application.WorksheetFunction.CountBlank(rngBereich) Then
rngBereich.EntireRow.Hidden = True
End If
End Sub
Hallo Rossi33,
hier mein Vorschlag (stammt aus excel2003):
Sub ausblenden()
Dim c As Variant
For Each c In Worksheets(„tabelle1“).Range(„A4:smiley:400“)
If c.Value = Empty Then
c.EntireRow.Hidden = True
End If
Next c
End Sub
Gruß Hugo
Hallo,
Um festzustellen ob in dem Bereich Zellen gefuellt sind, kann man sich der .END Funktion des Range Objektes bedienen.
schau mal dort : http://www.excel-inside.de/letzte-zeile-letzte-spalt…
Dann kann man den Bereich definieren und ein bzw. Ausschalten, mittels .Hidden = true/false
Tschau
Peter
Hallo MwieMichel,
Hallo Rossi33,
perfekt,dass Makro funktioniert so wie ich es gesucht habe. Im
Bereich A4:smiley:400 ist das Ergebnis der Formeln dynamisch. Zur
Zeit sind „noch“ keine Formeln hinterlegt, dies passiert
Morgen. Hoffe das Makro funktioniert dann auch noch. Ich danke
Dir vielmals
Die Anweisung
Selection.EntireRow.Hidden = False
sollte sich eigentlich nur auf Darstellung gegenüber dem Betrachter beziehen. Wenn’s trotzdem Probleme gäbe, meld Dich.
Gruss Rossi33
MfG MwieMichel
Hallo Rossi33,
Google ist dein Freund
hier ist die Lösung: http://www.office-loesung.de/ftopic60845_0_0_asc.php
If Trim(Range(„A10“)) = „“ Then Rows(10).EntireRow.Hidden = True
Gruß
Harry
hallo, spät aber dennoch eine Antwort.
'Schauen ob der Bereich leer ist:
sub test()
dim bLeer as Boolean
dim l as long
bLeer = false
for l=4 to 400
if tabelle1.cells(l,1)"" then
bLeer=true
end if
next l
if bLeer = false then
'Zellen sind leer --> Ausblenden
Columns(„A:A“).Select
Selection.EntireColumn.Hidden = True
else
'Zellen sind nicht leer
exit sub
end if
end sub
Grüsse Sebastian
Hallo,
vesuche es mal mit diesem Makro unter Tabelle1 (nicht als Modul einfügen !!)
Gruß,
Jochen
Private Sub Worksheet_Change(ByVal Target As Range)
For i = 4 To 400
For j = 1 To 4
Cells(i, j).Select
Wert = Cells(i, j).Value
Select Case Wert
Case Is „“
GoTo weiter
End Select
Next j
Next i
weiter:
k = i + j
Select Case k
Case Is = 406
Rows(„4:400“).Select
Selection.EntireRow.Hidden = True
End Select
Cells(i, j).Select
End Sub
Hallo,
ich hoffe, das hilft:
Sub Ausblenden()
Dim Zeile as Integer
Dim Spalte as Byte
Dim Leer as Boolean
'Initialisierung
Leer = True
'Im Schleifendurchlauf jede Zelle prüfen, ob leer. Falls eine Zelle nicht leer, wird die Variable Leer auf false gesetzt und es wird keine Zeile ausgeblendet (auch die nicht, die ggf. leer sind)
For Zeile = 4 to 400
For Spalte = 1 to 4 'Spalten A-D)
if cells(Zeile, Spalte).Value „“ then Leer = false
if not Leer then exit for
Next Spalte
if not Leer then exit for
Next Zeile
If Leer then Rows(„4:400“).EntireRow.Hidden=True
End Sub