Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Excel - Spalte löschen, wenn die Bedingung erfüllt ist

Frage Microsoft Microsoft Office

Mitglied: winget

winget (Level 1) - Jetzt verbinden

14.08.2014, aktualisiert 17:34 Uhr, 4797 Aufrufe, 4 Kommentare

Hallo zusammen,
wer kann mir mit einem Makro für folgendes Problem helfen.
1.Beliebige Zeilen
2.Beliebige Spalten
3.Mehrere sheets (Blätter)
Das Makro soll prüfen, ob in einer Zelle der Wert „0,00“ vorkommt und die komplette Spalte löschen. Das Makro soll immer nur im aktiven Blatt laufen.
Vielen Dank im Voraus
Mitglied: colinardo
14.08.2014, aktualisiert um 21:50 Uhr
Moin winget,
biddeschön
DeleteRowsWithZeros_246513.xlsm
01.
Sub DeleteRowsWithZeros() 
02.
    Dim rngCombined As Range, f As Range 
03.
    With ActiveSheet.UsedRange 
04.
        Set f = .Find(0, LookIn:=xlFormulas, LookAt:=xlWhole) 
05.
        ' falls mindestens eine Fundstelle gefunden wurde 
06.
        If Not f Is Nothing Then 
07.
            firstAddress = f.Address 
08.
            Do 
09.
                If Not rngCombined Is Nothing Then 
10.
                    ' gefundene Spalte mit der vorherigen Spalte kombinieren 
11.
                    Set rngCombined = Union(rngCombined, f.EntireColumn) 
12.
                Else 
13.
                    ' wird nur bei der erste gefundenen Spalte ausgeführt 
14.
                    Set rngCombined = f.EntireColumn 
15.
                End If 
16.
                Set f = .FindNext(f) 
17.
            Loop While Not f Is Nothing And f.Address <> firstAddress 
18.
        End If 
19.
    End With 
20.
     
21.
    ' lösche alle betroffenen Spalten auf einen Rutsch 
22.
    If Not rngCombined Is Nothing Then 
23.
        rngCombined.Delete 
24.
    End If 
25.
End Sub
Grüße Uwe
Bitte warten ..
Mitglied: winget
15.08.2014 um 12:03 Uhr
Hi Uwe,
super.Vielen Dank!
Funktioniert aber nur, wenn in der Zelle selbst der Wert steht und nicht das Ergebnis (z.B. aus Formel).
Ich weiß, dass Excel z.B. auch bei Gruppierungen Probleme mit Formeln hat.

Ich würde dir gerne auch eine Datei hochladen, aber ich habe nicht gefunden, wie das funktioniert...wie machst du das?

>Ich versuche mal kurz zu beschreiben, was ich meine:
Zum Beispiel in der Zeile 10 (das variiert 25, 30 oder 100) werden die Summen aus der Spalten angezeigt. In B10 die Summe von der Spalte B, in C10 die Summe von C usw. Manchmal ergeben diese Summen „0,00“ – die Spalte soll dann gelöscht werden.
Wie gesagt, das Makro funktioniert nur, wenn die Ergebnisse in Werten umgewandelt werden.

Danke und Gruß
Paul
Bitte warten ..
Mitglied: colinardo
15.08.2014, aktualisiert um 12:19 Uhr
Funktioniert aber nur, wenn in der Zelle selbst der Wert steht und nicht das Ergebnis (z.B. aus Formel).
OK, auch kein Problem dann kannst du es so machen:
01.
Sub DeleteRows() 
02.
    Dim rngCombined As Range, cell As Range 
03.
    For Each cell In ActiveSheet.UsedRange 
04.
        If cell.Value = "0" Then 
05.
            Debug.Print cell.Address 
06.
            If Not rngCombined Is Nothing Then 
07.
                Set rngCombined = Union(rngCombined, cell.EntireColumn) 
08.
            Else 
09.
                Set rngCombined = cell.EntireColumn 
10.
            End If 
11.
        End If 
12.
    Next 
13.
      
14.
    If Not rngCombined Is Nothing Then 
15.
        rngCombined.Delete 
16.
    End If 
17.
End Sub
Sheet ist upgedated.

Ich würde dir gerne auch eine Datei hochladen, aber ich habe nicht gefunden, wie das funktioniert...wie machst du das?
Ich lade das immer auf meinen eigenen Webserver.

Grüße Uwe
Bitte warten ..
Mitglied: winget
15.08.2014 um 12:24 Uhr
Super!!! Läuft!
Vielen Dank
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
For-Schleife Bedingung "nicht erfüllt" abfragen (8)

Frage von BatchNeuling zum Thema Batch & Shell ...

Microsoft Office
Excel Nachfrage: Datum aus Spalte ausgeben (2)

Frage von PronMaster zum Thema Microsoft Office ...

Microsoft Office
gelöst Excel: Wenn Wert in Spalte A dann kopiere Zeile (8)

Frage von michi1983 zum Thema Microsoft Office ...

Neue Wissensbeiträge
Windows Update

Microsoft Update KB4034664 verursacht Probleme mit Multimonitor-Systemen

(3)

Tipp von beidermachtvongreyscull zum Thema Windows Update ...

Viren und Trojaner

CNC-Fräsen von MECANUMERIC werden (ggf.) mit Viren, Trojanern, Würmern ausgeliefert

(4)

Erfahrungsbericht von anteNope zum Thema Viren und Trojaner ...

Windows 10

Windows 10: Erste Anmeldung Animation deaktivieren

(3)

Anleitung von alemanne21 zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Netzwerkgrundlagen
Kann auf Freigabe nicht Zugreifen (19)

Frage von leon123 zum Thema Netzwerkgrundlagen ...

Windows Server
DC virtualisieren + wie sichern (SingleDC-Environment) (12)

Frage von KMUlife zum Thema Windows Server ...

Festplatten, SSD, Raid
RAID Controller mit Trim-Funktion, wie ermitteln (11)

Frage von pixel24 zum Thema Festplatten, SSD, Raid ...