Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1420to1424
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Spalte m. Faktor multipl., leere Zellen ignorieren

Spalte m. Faktor multipl., leere Zellen ignorieren
19.04.2015 14:17:15
Katinka

Hallo ihr lieben Excel-Könner,
leider habe ich bisher nicht die Lösung für mein Problem gefunden, deshalb hier die Frage.
Um die bedingte Formatierung anzuwenden, müssen etliche Zahlen einer Tabelle, die aus einer .txt-Datei kommen, erst noch mit 1 multipliziert werden. Das soll folgender Code erledigen:

Sub vorbereiten_bedingte_Formatierung()
Dim Bereich As Range
Dim Zelle As Range
Dim Faktor As Variant
Faktor = 1
Set Bereich = ActiveSheet.Range("G3:G300,I3:I300,J3:J300,K3:K300,L3:L300,M3:M300,N3:N300,O3: _
O300,P3:P300,Q3:Q300,R3:R300")
For Each Zelle In Bereich
If IsNumeric(Zelle.Value) Then
Zelle.Formula = Zelle.Value * Faktor
End If
Next Zelle
End Sub
Der Code funktioniert, aber in den Spalten sind oft auch weniger als 300 Werte und dann stehen in diesen eigentlich leeren Zellen plötzlich Nullen.
Die vorher leeren Zellen sollten also leer bleiben. Kann man das in diesen Code irgendwie einbauen?
Vielleicht sind die angeblich leeren Zellen auch nicht wirkich leer, da sie von If IsNumeric ignoriert werden. Auch hierfür die Frage ob man diesen Code anpassen kann?
Leider kann ich nicht im Nachhinein alle Nullen entfernen lassen, da auch im Wertebereich Nullen stehen, die aber gebraucht werden und bleiben müssen.
Ich hoffe, das ist irgendwie verständlich.
Grüße und noch einen schönen Sonntag
Katinka

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Spalte m. Faktor multipl., leere Zellen ignorieren
19.04.2015 14:33:34
Hajo_Zi
Hallo Katinka,
warum nicht einfach
Zelle.value= Zelle.Value
oder
If IsNumeric(Zelle.Value) and Zelle<>"" Then

Set-Anweisung, etwas kürzer ...
19.04.2015 14:39:20
Matthias L
Hallo
Set Bereich = ActiveSheet.Range("G3:G300,I3:R300")
Der Rest siehe Hajo
Gruß Matthias

eigentlich noch kürzer ...
19.04.2015 15:19:59
Matthias L
Hallo
Set Bereich = Range("G3:G300,I3:R300")
Da sich Range immer aufs aktive Tabellenblatt bezieht, wenn keine Referenz vorhanden ist.
Hier der komplette Code:
Option Explicit
Sub vorbereiten_bedingte_Formatierung()
Dim Bereich As Range, Zelle As Range
Set Bereich = Range("G3:G300,I3:R300")
Application.EnableEvents = False
Application.ScreenUpdating = False
For Each Zelle In Bereich
With Zelle
.Value = .Value
End With
Next
Application.ScreenUpdating = True
Application.EnableEvents = True
Set Bereich = Nothing
MsgBox "fertig :-)"
End Sub

Gruß Matthias

Anzeige
AW: eigentlich noch kürzer ...
19.04.2015 15:35:09
Nepumuk
Hallo Matthias,
Set kannst du dir auch sparen denn die Variable wird nur ein einziges mal benutzt.
Sub vorbereiten_bedingte_Formatierung()
    Dim Zelle As Range
    With Application
        .EnableEvents = False
        .ScreenUpdating = False
        .Calculation = xlCalculationManual
    End With
    For Each Zelle In Range("G3:G300,I3:R300")
        With Zelle
            .Value = .Value
        End With
    Next
    With Application
        .EnableEvents = True
        .ScreenUpdating = True
        .Calculation = xlCalculationAutomatic
    End With
    MsgBox "fertig :-)"
End Sub

Gruß
Nepumuk

Anzeige
ok, ok ...
19.04.2015 15:46:58
Matthias L
Hallo Nepumuk
Das mit dem Set habe ich ja nur übernommen ;-)
Aber Du hast natürlich absolut Recht! :-)
Gruß Matthias

AW: eigentlich noch kürzer ...
19.04.2015 16:02:52
Katinka
Hallo Nepomuk,
auch an Dich: Vielen Dank!
Das Set Bereich kam ja schon von mir, kenne das halt' nur so (bisher). Und ich war stolz wie Bolle. Matthias kann da nix für.
Auch für Dich noch einen schönen sonnigen Restsonntag.
Katinka

AW: Nepumuk natürlich, sorry
19.04.2015 18:03:29
Katinka
Nepumuk natürlich, sorry

AW: Hajo und Matthias
19.04.2015 15:50:16
Katinka
Hallo Hajo, Hallo Matthias,
so schnell Antwort und das am Sonntag, ihr seid genial. Vielen Dank.
Habe zunächst die ersten Tipps ausprobiert, funtionieren super und Matthias' kompletter Code natürlich ebenfalls.
An Matthias: Die Msg-Box "fertig" bleibt auf jeden Fall drin, die ist spaßig und gefällt mir.
Nochmals danke an euch zwei und einen schönen sonnigen Restsonntag
Katinka

Anzeige

332 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige