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, 3959 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 ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Microsoft Office
gelöst Verschieben von Zellinformation in andere Spalte (per VBA) excel 2010 (5)

Frage von thomas1972 zum Thema Microsoft Office ...

VB for Applications
gelöst Excel VBA .csv Import in Tabelle x, ab Spalte y

Frage von drimrim zum Thema VB for Applications ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (20)

Frage von Xaero1982 zum Thema Microsoft ...

Outlook & Mail
gelöst Outlook 2010 findet ost datei nicht (19)

Frage von Floh21 zum Thema Outlook & Mail ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Festplatten, SSD, Raid
M.2 SSD wird nicht erkannt (14)

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