Microsoft Excel

Herbers Excel/VBA-Archiv

Null weg bei leerer Zelle

Betrifft: Null weg bei leerer Zelle von: Nicole
Geschrieben am: 20.09.2004 14:14:16

Hallo!

Ich habe ein Makro, welches aus einer Exceltabelle verschiedene Werte liest und diese in einem Textfile speichert.

Steht in der Tabelle in einer Zelle ein Wert, so wird er so ins Textfile geschrieben. Steht aber in einer Zelle die übertragen werden soll nichts (leere Zelle), dann wird eine 0 ins Textfile geschrieben. Wie bring ich diese Null weg? Ich möchte dass dann diese Stelle imn Textfile auch leer bleibt?

Kann mir jemand mit dem Code helfen? Grüsse und Dankeschön!

Ausschnitt aus meinem Makro:

Sub Riinforsd_pläi()

'Daten der Ply i einfüllen

Range("A" & (i - 1) * 140 + 4).Select
ActiveCell.FormulaR1C1 = "t = "
Range("B" & (i - 1) * 140 + 4).Select
ActiveCell.FormulaR1C1 = "='[" & Meine_Datei & "]" & Mein_Blatt & "'!R23C4/1000"

Range("A" & (i - 1) * 140 + 6).Select
ActiveCell.FormulaR1C1 = "m_A = "
Range("B" & (i - 1) * 140 + 6).Select
ActiveCell.FormulaR1C1 = "='[" & Meine_Datei & "]" & Mein_Blatt & "'!R24C4/1000"

Range("A" & (i - 1) * 140 + 7).Select
ActiveCell.FormulaR1C1 = "E_1 = "
Range("B" & (i - 1) * 140 + 7).Select
ActiveCell.FormulaR1C1 = "='[" & Meine_Datei & "]" & Mein_Blatt & "'!R39C4*1000000"


Range("A" & (i - 1) * 140 + 8).Select
ActiveCell.FormulaR1C1 = "E_2 = "
Range("B" & (i - 1) * 140 + 8).Select
ActiveCell.FormulaR1C1 = "='[" & Meine_Datei & "]" & Mein_Blatt & "'!R40C4*1000000"


Range("A" & (i - 1) * 140 + 9).Select
ActiveCell.FormulaR1C1 = "E_3 = "
Range("B" & (i - 1) * 140 + 9).Select
ActiveCell.FormulaR1C1 = "='[" & Meine_Datei & "]" & Mein_Blatt & "'!R44C4*1000000"


Range("A" & (i - 1) * 140 + 10).Select
ActiveCell.FormulaR1C1 = "G_12 = "
Range("B" & (i - 1) * 140 + 10).Select
ActiveCell.FormulaR1C1 = "='[" & Meine_Datei & "]" & Mein_Blatt & "'!R41C4*1000000"

  


Betrifft: AW: Null weg bei leerer Zelle von: ANdreas
Geschrieben am: 20.09.2004 15:12:16

Hallo Nicole,

zuerst, das ganze geht ohne Select - ist übersichtlicher und geht vor allem auch schneller.

Du musst die Formel etwas erweitern und zwar um die Prüfung ob die Zelle etwas enthält, wenn nicht dann "" sonst der Wert.

Ungetestet hier für das erst mal beispielhaft:
Range("A" & (i - 1) * 140 + 4).FormulaR1C1 = "t = "
Range("B" & (i - 1) * 140 + 4).FormulaR1C1 = _
"=IF(ISBLANK('" & Meine_Datei & Mein_Blatt & "'!R23C4),"""",'" & Meine_Datei & Mein_Blatt & "'!R23C4/1000)"

Hoffe das hilft weiter,
Andreas


  


Betrifft: AW: Null weg bei leerer Zelle von: ANdreas
Geschrieben am: 20.09.2004 15:14:38

Hallo Nicole,

ups, da ist was verloren gegangen:

Range("A" & (i - 1) * 140 + 4).FormulaR1C1 = "t = "
Range("B" & (i - 1) * 140 + 4).FormulaR1C1 = _
"=IF(ISBLANK('[" & Meine_Datei & "]" & Mein_Blatt & "'!R23C4),"""",'[" & Meine_Datei & "]" & Mein_Blatt & "'!R23C4/1000)"

Gruß
Andreas


  


Betrifft: AW: Null weg bei leerer Zelle von: Fabienne
Geschrieben am: 20.09.2004 15:54:08

Hallo Andreas

Danke schon mal für deine Hilfe, das ganze funktioniert einwandfrei!

Jetzt hab ich aber das Problem, dass ich etwa 300 Zeilen ändern muss. Gibt es eine Möglichkeit dieses IF(ISBLANK(.....)) über eine Schleife zu machen? Hast du eine Idee?

Viele Grüsse Fabienne


  


Betrifft: AW: Null weg bei leerer Zelle von: ANdreas
Geschrieben am: 20.09.2004 16:12:17

Hallo,

automatisch geht das leider nicht und leider auch nicht effizient mit Bearbeiten, Ersetzen im Editor.
Man könnte allerdings ein Makro schreiben, welches den ganzen Code durchläuft und entsprechend ändert. Leider hab ich dazu momentan keine Zeit und das ist auch nicht in 3 Minuten gemacht.

Vielleicht kann Dir ja jemand anders helfen. Wie man Code mit Makro ändert, dazu findet man zahlreiche Beispiele in Hans Excel-FAQ:
https://www.herber.de/mailing/vbe.htm

Gruß
Andreas


  


Betrifft: AW: Null weg bei leerer Zelle von: Fabienne
Geschrieben am: 20.09.2004 16:17:32

Ok, danke trotzdem für deine Tipps!

Wünsch dir einen schönen Abend!


 

Beiträge aus den Excel-Beispielen zum Thema "Null weg bei leerer Zelle"