2.0k Aufrufe
in Tabellenkalkulation von
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!

4 Antworten

0 Punkte
von hajo_zi Experte (9.1k Punkte)
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
0 Punkte
von
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
0 Punkte
von hajo_zi Experte (9.1k Punkte)
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
0 Punkte
von
Hallo Hajo!

Danke! So habe ich es mir vorgestellt!

Gruss
Ines

Deine Antwort

Dein angezeigter Name (optional):
Datenschutz: Deine Email-Adresse benutzen wir ausschließlich, um dir Benachrichtigungen zu schicken. Es gilt unsere Datenschutzerklärung.
Anti-Spam-Captcha:
Bitte logge dich ein oder melde dich neu an, um das Anti-Spam-Captcha zu vermeiden.
...