Microsoft Excel

Herbers Excel/VBA-Archiv

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

Makro Änderung | Herbers Excel-Forum


Betrifft: Makro Änderung von: Karin
Geschrieben am: 21.08.2012 08:35:21

Hallo ihr Experten,
ich habe im Netz ein Makro gefunden das die Nullwerte in der Ergebnisspalte einer Pivot-Tabelle löschen soll:

Sub ausblenden() 

Dim Zeile As Double 
Dim Spalte As Double 

Spalte = "Nummer der Spalte, in der die Nullwerte herausgefiltert werden sollen" 
Zeile = "Nummer der Zeile, in der der erste Wert steht" 

Do While Cells(Zeile, Spalte) <> "" 
If Cells(Zeile, Spalte) = 0 Then 
Rows(Zeile).EntireRow.Hidden = True 
End If 
Zeile = Zeile + 1 
Loop 
MsgBox "fertig", 64, "FERTIG" 

End 

Sub 

Meine Ergebnis steht in Spalte "C" und die Zeile mit dem ersten Wert ist die "4"
Meine Frage: Kann mir jemand die beiden Werte in das Makro einbauen, so das es funktioniert?
Vielen Dank im Voraus.

Gruß
Karin


  

Betrifft: AW: Makro Änderung von: Josef Ehrensberger
Geschrieben am: 21.08.2012 09:25:29


Hallo Karin,

Sub ausblenden()
  Dim Zeile As Long, Spalte As Long, lngIndex
  Dim rngHidden As Range
  
  Spalte = 3 '"Nummer der Spalte, in der die Nullwerte herausgefiltert werden sollen"
  Zeile = 4 '"Nummer der Zeile, in der der erste Wert steht"
  
  For lngIndex = Zeile To Application.Max(Zeile, Cells(Rows.Count, Spalte).End(xlUp).Row)
    If Cells(Zeile, Spalte) = 0 Then
      If rngHidden Is Nothing Then
        Set rngHidden = Cells(Zeile, Spalte)
      Else
        Set rngHidden = Union(rngHidden, Cells(Zeile, Spalte))
      End If
    End If
  Next
  
  If Not rngHidden Is Nothing Then rngHidden.EntireRow.Hidden = True
  
  MsgBox "fertig", 64, "FERTIG"
  
  Set rngHidden = Nothing
End Sub






« Gruß Sepp »



  

Betrifft: AW: Makro Änderung von: Karin
Geschrieben am: 21.08.2012 10:11:26

Hallo Sepp,



vielen Dank für deine schnelle Hilfe. Das Makro läuft auch ohne Fehler durch, aber es tut nicht das was ich mir erhofft hatte. Meine erste Zeile mit einem "Null-Wert" war die "4". Die hat er zwar ausgeblendet, aber nicht gelöscht. Alle anderen Zeilen mit Wert "Null" sind nicht ausgeblendet bzw. glöscht worden. So hatte ich es mir eigentlich gedacht. Du kennst dich doch sehr gut mit VBA aus. Kannst du das Makro so umschreiben, das alle "Null-Werte" in der Ergebnsspalte einer Pivot-Tabelle gelöscht werden?



Vielen Dank im Voraus.







Liebe Grüße



Karin


  

Betrifft: AW: Makro Änderung von: Josef Ehrensberger
Geschrieben am: 21.08.2012 10:15:55


Hallo Karin,

dann steht in den Zellen wahrscheinlich nicht 0.

Sub loeschen()
  Dim Zeile As Long, Spalte As Long, lngIndex As Long
  Dim rngDelete As Range
  
  Spalte = 3 '"Nummer der Spalte, in der die Nullwerte herausgefiltert werden sollen"
  Zeile = 4 '"Nummer der Zeile, in der der erste Wert steht"
  
  For lngIndex = Zeile To Application.Max(Zeile, Cells(Rows.Count, Spalte).End(xlUp).Row)
    If Cells(Zeile, Spalte) = 0 Or Cells(Zeile, Spalte) = "" Then
      If rngDelete Is Nothing Then
        Set rngDelete = Cells(Zeile, Spalte)
      Else
        Set rngDelete = Union(rngDelete, Cells(Zeile, Spalte))
      End If
    End If
  Next
  
  If Not rngDelete Is Nothing Then rngDelete.EntireRow.Delete
  
  MsgBox "fertig", 64, "FERTIG"
  
  Set rngDelete = Nothing
End Sub




« Gruß Sepp »



  

Betrifft: AW: Makro Änderung von: Karin
Geschrieben am: 21.08.2012 10:35:53

Hallo Sepp,

vielen Dank für deine schnelle Hilfe. Leider kommt folgende Fehlermeldung:

Kannst du damit was anfangen?





  

Betrifft: AW: Makro Änderung von: Josef Ehrensberger
Geschrieben am: 21.08.2012 10:41:15


Hallo Karin,

lade die Tabelle mit der Pivot hoch.




« Gruß Sepp »



  

Betrifft: AW: Makro Änderung von: Karin
Geschrieben am: 21.08.2012 11:12:33

Hallo Sepp,



hier die Datei.



https://www.herber.de/bbs/user/81497.xls









Gruß



Karin


  

Betrifft: AW: Makro Änderung von: Rudi Maintaire
Geschrieben am: 21.08.2012 11:35:49

Hallo,
du kannst nicht einfach mitten aus ner Pivot-Tabelle Zeilen löschen.
Das ist nicht möglich.

Gruß
Rudi


  

Betrifft: AW: Makro Änderung von: Josef Ehrensberger
Geschrieben am: 21.08.2012 12:20:30


Hallo Karin,

füge doch einfach eine Spalte "Umsatz" ein und Filtere die 0 raus.

https://www.herber.de/bbs/user/81498.xls



« Gruß Sepp »



  

Betrifft: AW: Makro Änderung von: Karin
Geschrieben am: 21.08.2012 14:53:00

Hallo Sepp,
die Idee ist super. Es klappt. Hätte ich auch vorher drauf kommen können.
Wie heißt es doch so schön: "Manchmal sieht man den Wald vor......."
Na denn.
Bis bald.

Liebe Grüße
Karin


Beiträge aus den Excel-Beispielen zum Thema "Makro Änderung "