online 1
gast (50)

/ Forum / Tabellenkalkulation

TabellenkalkulationTabellenkalkulation

Fragevon Platin7 vom 20.04.2021, 16:21 Options

Makro für wenn-dann-Bedingung zum Nullen auffüllen

Hallo Spezies!
Ich habe eine Software, die keine Nullwerte ausgibt, sobald nicht eine Buchung vorhanden ist! Für die weitere Darstellung in Excel benötige ich die "0" jedoch!
Da auch gewollte Leerzeilen vorhanden sind, habe ich mir ein Makro vorgestellt, das, wenn in Spalte Z eine "0" steht, alle leeren Zellen der Spalte F und N der gleichen Zeile mit "0" aufgefüllt werden.

Beim surfen bin ich auf folgendes Makro gestoßen:

Public Sub LeereZellenmitNullenfüllen()
Dim Bereich As Range
Dim Zelle As Range

Set Bereich = Range("A1:c10")
For Each Zelle In Bereich
If Zelle.Value = "" Then
Zelle.Value = 0
End If
Next

End Sub

Leider bekomme ich die Wenn-Bedingung mit dem Bereich der zu befüllen ist, nicht kombiniert!

Vielleicht kann mir jemand helfen!

Danke!


Antwort schreiben

Antwort 1 von Hajo_Zi vom 20.04.2021, 16:27 Options

Hallo Platin,
Option Explicit

Sub Platin()
Dim LoLetzte As Long
Dim LoI As Long
LoLetzte = IIf(IsEmpty(Cells(Rows.Count, 26)), Cells(Rows.Count, 26).End(xlUp).Row, Rows.Count)
Application.ScreenUpdating = False
For LoI = 1 To LoLetzte
If Not IsEmpty(Cells(LoI, 26)) And Cells(LoI, 26) = 0 Then
Cells(LoI, 14) = 0
Cells(LoI, 6) = 0
End If
Next LoI
Application.ScreenUpdating = False
End Sub

Gruß Hajo

Antwort 2 von Platin7 vom 20.04.2021, 16:39 Options

Hi!
Danke für den schnellen Ansatz!
Leider überschreibt das Makro auch befüllte Zellen!

Oder habe ich bei meiner Testvariante was falsch übertragen?

Option Explicit

Sub Platin()
Dim LoLetzte As Long
Dim LoI As Long
LoLetzte = IIf(IsEmpty(Cells(Rows.Count, 6)), Cells(Rows.Count, 6).End(xlUp).Row, Rows.Count)
Application.ScreenUpdating = False
For LoI = 1 To LoLetzte
If Not IsEmpty(Cells(LoI, 6)) And Cells(LoI, 6) = 0 Then
Cells(LoI, 2) = 0
Cells(LoI, 4) = 0
End If
Next LoI
Application.ScreenUpdating = False
End Sub

Gruss
Platin7

Antwort 3 von Hajo_Zi vom 20.04.2021, 16:43 Options

Hallo Platin,

ich habe mich an die Aufgabe gehlaten

"Da auch gewollte Leerzeilen vorhanden sind, habe ich mir ein Makro vorgestellt, das, wenn in Spalte Z eine "0" steht, alle leeren Zellen der Spalte F und N der gleichen Zeile mit "0" aufgefüllt werden."

Sollen die Inhalte in F und N nicht überschrieben werden?
Option Explicit

Sub Platin()
Dim LoLetzte As Long
Dim LoI As Long
LoLetzte = IIf(IsEmpty(Cells(Rows.Count, 26)), Cells(Rows.Count, 26).End(xlUp).Row, Rows.Count)
Application.ScreenUpdating = False
For LoI = 1 To LoLetzte
If Not IsEmpty(Cells(LoI, 26)) And Cells(LoI, 26) = 0 Then
If Cells(LoI, 14) = "" Then Cells(LoI, 14) = 0
If Cells(LoI, 6) = "" Then Cells(LoI, 6) = 0
End If
Next LoI
Application.ScreenUpdating = False
End Sub

Gruß Hajo

Antwort 4 von Platin7 vom 20.04.2021, 17:32 Options

Hallo Hajo!

Danke! So habe ich es mir vorgestellt!

Gruss
Ines

Ähnliche Themen

2 Zellen zusammenführen und dabei führende Nullen in der 2. Zelle einfügen
Computer-Werner  17.03.2008 - 81 Hits - 3 Antworten

Excel 2007 - Per Makro Daten nach Bedingung auslesen und sortieren
AlexS  24.11.2008 - 140 Hits - 4 Antworten

Makro für Löschung Duplukate unter bestimmter Bedingung
Mona1980  17.01.2009 - 93 Hits - 4 Antworten

FÜHRENDE NULLEN IN CSV VERSCHWINDEN
mel1980  02.02.2009 - 690 Hits - 4 Antworten

Zellen auffüllen mit oberen Werten
Pammsel  01.04.2009 - 337 Hits - 8 Antworten

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Thu Jan 8 21:07:44 2026