Leere Zelle wird als unleer deklariert

Ein 5 Minuten-Problem für ein VBA-Kenner.

Habe folgendes Problem; Habe eine Excel-Tabelle aus einer anderen Software erstellt bekommen, in der jede Zelle mit Anzahl2() als gefüllt angezeigt wird, auch wenn sie effektiv ‚null‘ ist. Ein Aktivieren und Verlassen stellt das Attribut richtig.

Da ich eine VBA-Banause bin bräuchte Hilfe ein ein kurzes Makro zu schreiben:

  • aktiviere selektiertes Feld
  • Enter, und Cursor eins runter
    und das im Loop bis gewünschter Zähler erreicht ist.

Kann mir jemand bitte diese fünf Zeilen so schrieben das sie Excel auch versteht und ausführen kann.

Gruss, Roger.

Da ich eine VBA-Banause bin bräuchte Hilfe ein ein kurzes
Makro zu schreiben:

  • aktiviere selektiertes Feld
  • Enter, und Cursor eins runter
    und das im Loop bis gewünschter Zähler erreicht ist.

Sub Aktualisieren()
Dim a As Integer
Range(„b1“).Select ’ Hier erste Zelle anpassen!
For a = 1 To 30 ’ Hier die Anzahl Wiederholungen eintragen (statt der 30)!
SendKeys „{Enter}“ ’ Simuliert Tastendruck Enter
Next
End Sub

Gruß, BellHouse

Hallo Roger!

In der Programmierung von Excel bin ich kein großer Experte. Aber in VBA (ich glaube auch in der Makroprogrammierung) gibt es die Funktion IstNull bzw. IstLeer. Über diese kann der Inhalt der aktiven Zelle abgerfragt werden.

Gruss Frank

Hallo Roger,

leider kann ich das nicht ohne zuverlässige Testdatenbasis bauen. Hier aber ein erster Versuch.

Sub ZellenEdit()
Dim Zelle As Range
For Each Zelle In Selection
Zelle.Select
Application.SendKeys „{F4}“
Application.SendKeys „{RETURN}“
Next Zelle
End Sub

Vorher alle zu überarbeitenden Zellen markieren.

Sollte das nicht klappen, benötige ich eine Testdatei unter

[email protected]

mfg

Markus

Danke Frank für Deine Antwort. Ich werde Deinen Input gerne bei der Lösungsfindung berücksichtigen.

Lieber Gruss,
Roger.

Vielen Dank BellHouse für Deine Hilfe. Schlussendlich habe ich ein kleines aber feines Makro gefunden, welche die unleeren Zellen leert.

Sub EmptyUnNull()
Dim Zelle As Range
For Each Zelle In Selection
If Zelle.Value = „“ And Zelle.Formula = „“ Then Zelle.Value = „“
Next Zelle
End Sub

Sub Makro1()

Startzeile = CInt(InputBox(„Erste zubearbeitende Zeile eingeben.“))
LetzteZeile = CInt(InputBox(„Letzte zubearbeitende Zeile eingeben.“))
Spalte = CInt(InputBox(„Spaltennummer eingeben (A=1,B=2,C=3,…):“))

Zeile = Startzeile

Cells(Zeile, Spalte).Select

Do Until Zeile = LetzteZeile
ActiveCell.FormulaR1C1 = „“
Zeile = Zeile + 1
Cells(Zeile, Spalte).Select
Loop

End Sub