Microsoft Excel

Herbers Excel/VBA-Archiv

Zellansicht in Textdatei übernehmen

Betrifft: Zellansicht in Textdatei übernehmen von: Ben
Geschrieben am: 04.08.2014 11:14:36

Hallo Leute :)

Ich habe ein winziges Problem.

Um ein Arbeitsblatt in eine Textdatei zu schreiben nutze ich:

ActiveCell.FormulaR1C1 = _
        "=RC[1] & "" "" & RC[2] & "" "" & RC[3]"

Das funktioniert einwandfrei und trennt mir die Spalten mit einem Leerzeichen (wie gewünscht).

Allerdings wird die Zellansicht nicht übernommen :( Also es wird besipielsweise nicht der Wert 1.234,34 (in der dargestellten Zellansicht (1000er Trennzeichen)) übernommen, sondern nur der Wert ohne Punkt (1234,34).

Ich hätte schon gerne meine Zellen inkl. Ansicht in die Textdatei geschrieben. Gibt es einen Zusatz für die o.g. Formel oder eine völlig andere Herangehensweise?

Grüße
Ben

  

Betrifft: AW: Zellansicht in Textdatei übernehmen von: Oberschlumpf
Geschrieben am: 04.08.2014 12:09:11

Hi Ben

Aber mit

ActiveCell.FormulaR1C1 = ...usw

schreibst du doch nicht von einer Zelle irgdwohin, sondern du schreibst IN die Zelle.

Was du suchst, könnte das hier sein:

irgdwohin = Range("A1").TEXT

.Text gibt den Wert wie angezeigt zurück.

Hilfts?
Wenn nicht, bitte mal ne Bsp-Datei.

Ciao
Thorsten


  

Betrifft: AW: Zellansicht in Textdatei übernehmen von: Ben
Geschrieben am: 04.08.2014 13:58:09

Hey Torsten,

versteh's gerad nicht.
Wie wende ich *.TEXT an?

Habe folgendes (natürlich weniger erfolgreich) probiert:

ActiveCell.FormulaR1C1 = _
        "=RC[1].TEXT & "" "" & RC[2].TEXT & "" "" & RC[3].TEXT"

oder
ActiveCell.TEXT = _
        "=RC[1] & "" "" & RC[2] & "" "" & RC[3]"
Ist mir schon klar das es falsch ist. Allerdings versteh ich dich nicht anders :(

Wie realisiere ich das?

Grüße
Ben


  

Betrifft: AW: Zellansicht in Textdatei übernehmen von: fcs
Geschrieben am: 04.08.2014 14:17:19

Hallo Ben,

wenn du es als Formel in eine Zelle schreiben willst, dann musst du die Funktion TEXT in Verbindung mit dem gewünschten Zahlenformat verwenden. Achtung: das Zahlenformat muss hier in der lokalen Schreibweise angegeben werden.

    ActiveCell.FormulaR1C1 = _
        "=TEXT(RC[1],""#.##0,00"") & "" "" & TEXT(RC[2],""#.##0,00"")  & "" "" " _
        & "& TEXT(RC[3],""#.##0,00"")"
Gruß
Franz


  

Betrifft: AW: Zellansicht in Textdatei übernehmen von: Ben
Geschrieben am: 04.08.2014 15:02:27

Hallo Franz,

funktioniert einwandfrei :)

Danke an alle!


  

Betrifft: AW: Zellansicht in Textdatei übernehmen von: Oberschlumpf
Geschrieben am: 04.08.2014 15:07:39

Hi Ben

und ich versteh es immer noch nicht.
Auch das, was Franz vorgeschlagen hat, lässt einen Wert IN eine Zelle eintragen.
Du aber wolltest den INHALT einer Zelle in eine Textdatei eintragen.

Wo ist nun der Fehler?

Ciao
Thorsten


  

Betrifft: AW: Zellansicht in Textdatei übernehmen von: Ben
Geschrieben am: 04.08.2014 18:51:38

Hi Torsten,
Hi @ all,


grundsätzlich möchte ich Werte in eine Textdatei schreiben ja. Allerdings nur die Zellansichten, nicht die eigentlichen vollen Werte. Wichtig dabei ist mir das die Textdatei zwischen den Spalten ein Leerzeichen schreibt und keine Anführungszeichen am Beginn/Ende einer Textdateizeile steht.

Hier ging es mir darum die Zellansicht (also nicht unbedingt den Zellinhalt(Zellergebnis)) in eine Textdatei zu schreiben. Wenn das Ergebnis einer Zelle sagen wir 1200,76 ist, dann bräuchte ich den Wert als 1000er-Trennzeichen-Ansicht in der Textdatei: also 1.200,76

Es funktionierte ja alles ganz gut, bis ich bemerkte, dass ja der Zellinhalt (Zellergebnis) über meine benutzte FormulaR1C1 in die Zelle geschrieben wird. Ich brauchte aber die Zellansicht! Mit der TEXT-Funktion hat es dann super funktioniert.

Allerdings ist mir jetzt wiederum aufgefallen, dass es ja auch Werte gibt die unter den Wert 1000 sind! Bedeutet, kleinere Werte wie 9,34 sehen dadurch allerdings wie folgt aus: 0.009

Das soll jedoch nicht sein :(

Ich habe probiert die Formel mit einer IF-Funktion zu kombinieren (also bspw. wenn Werte halt größer 1000 sind dann nehme die TEXT-Funktion_A, sonst TEXT-Funktion_B), bin allerdings wieder kläglich gescheitert.


Kann man die Formel anpassen für Werte über und unter 1000 oder gibt es einen anderen VBA-Weg ein Sheet (zeilenweise) in eine Textdatei zu schreiben wo keine Anführungszeichen am Beginn/Ende auftauchen und Leerzeichen zwischen den Spalten sind?

Grüße
Ben


  

Betrifft: AW: Zellansicht in Textdatei übernehmen von: Ben
Geschrieben am: 05.08.2014 00:19:52

Hallo nochmal!

Habe es hinbekommen! Ich schreibe einfach die Formel einfach mehrmals pro Zelle und prüfe dabei via IF ob es sich um 1000er Werte handelt oder nicht. Zum Schluss reihe ich diese Ergebnisse einfach erneut mit Bsp. RC[-1] & "" "" & RC[-2] mehrmals zusammen und habe dann meine Vorlagezelle um Leerzeichen-getrennt in eine Textdatei zu schreiben.

Dank Euch für die Zeit und super Ideen!

Grüße
Ben


 

Beiträge aus den Excel-Beispielen zum Thema "Zellansicht in Textdatei übernehmen"