Discussion:
Exakten Text aus Zelle Übernehmen
(zu alt für eine Antwort)
Tobias K
2005-11-05 12:27:35 UTC
Permalink
Hallo!

Ich will Excel benutzen um Dateien Umzubenennen, indem ich eine Spalte in
eine Batchdatei kopiere.So soll eine Datei, die z.B. 8BRK.STY heisst in
"001 - 8-Beat Rock.sty" umbenannt werden. Das ist aber jetzt nicht das
Problem. Worum es geht:

- Spalte A beinhaltet die Nummerierung, wobei die Zellen so formatiert sind,
dass Führungsnullen entstehen (1 -> 001;benutzerdef. Format - "000"
eingegeben).
- Spalten B-D beinhalten die Textelemente, aus denen die Dateinamen
generiert werden sollen

Das Problem:
Spalte E erzeugt die Verknüpfungen wie folgt: =A1&" - "&B1... und es
erscheint anstatt z.B. 001 nur 1 in der Zelle. Wie bekomme ich es hin, den
exakten Inhalt, den man sieht in einer solchen Verknüpfung unterzubringen?

Gruß

Tobias K
Tobias K
2005-11-05 12:29:01 UTC
Permalink
Hallo nochmal,

habe ich vergessen zu sagen: Ich verwende Excel 2000.

Gruß

Tobias K
Herbert Taferner
2005-11-05 12:36:51 UTC
Permalink
Hallo Tobias,

=TEXT(A1;"000")&" - "&B1

mfg Herbert
Tobias K
2005-11-05 12:44:59 UTC
Permalink
Hallo Herbert,

danke für die schnelle Antwort. Das ist eine gute Lösung. Aber gibts nicht
irgendwas, um den Text einer Zelle so zu übernehmen, wie er dargestellt
wird?

Gruß

Tobias
Herbert Taferner
2005-11-05 13:04:22 UTC
Permalink
Hallo Tobias,
Post by Tobias K
danke für die schnelle Antwort. Das ist eine gute Lösung. Aber gibts nicht
irgendwas, um den Text einer Zelle so zu übernehmen, wie er dargestellt wird?
du kannst nur das irgendwohin übernehmen was auch in der Zelle
drinsteht, und nicht das was du dir selber durch eine Zellformatierung
vorgaukelst
In der Zelle steht das drin was in der Eingabezeile zu sehen ist
wenn du die Zelle mit einem Zellformat änderst dann ist dies
nur eine optische Anpassung für den Anwender aber der Zellwert wird
ja deswegen nicht anders

da mußt du in die Zelle Text schreiben statt Zahl
mit einem Hochkomma voran dann steht auch '001 in der Zelle

mfg Herbert
Eike Bimczok
2005-11-05 17:35:56 UTC
Permalink
Hallo Tobias,

du kannst eine benutzerdefinierte Funktion verwenden:

Function getValue(a As Range)
'11-2005
'E.Bimczok
If a.Count = 1 Then
getValue = a.Text
Else
getValue = "error"
End If
End Function


Kopiere den Quellcode in ein Standardmodul und schreibe anstelle von

=TEXT(A1;"000")&" - "&B1

diese Formel

=getValue(A1)&" - "&B1


Gruß
Eike
Post by Herbert Taferner
Hallo Tobias,
Post by Tobias K
danke für die schnelle Antwort. Das ist eine gute Lösung. Aber gibts nicht
irgendwas, um den Text einer Zelle so zu übernehmen, wie er dargestellt wird?
du kannst nur das irgendwohin übernehmen was auch in der Zelle
drinsteht, und nicht das was du dir selber durch eine Zellformatierung
vorgaukelst
In der Zelle steht das drin was in der Eingabezeile zu sehen ist
wenn du die Zelle mit einem Zellformat änderst dann ist dies
nur eine optische Anpassung für den Anwender aber der Zellwert wird
ja deswegen nicht anders
da mußt du in die Zelle Text schreiben statt Zahl
mit einem Hochkomma voran dann steht auch '001 in der Zelle
mfg Herbert
Herbert Taferner
2005-11-05 18:14:26 UTC
Permalink
Hallo Eike,
Post by Eike Bimczok
Function getValue(a As Range)
'11-2005
'E.Bimczok
If a.Count = 1 Then
getValue = a.Text
Else
getValue = "error"
End If
End Function
das man mit VBA fast alles machen kann, das ist wohl bekannt,
aber darum ging es meines Erachtens hier nicht

es ist ein sehr verbreiteter Irrglaube vieler Anwender, das
der in der Zelle durch Zellformat entsprechend angepaßte, sichtbare
Eintrag in der Zelle auch der tatsächliche Wert ist

dies ist eben nicht der Fall und das wollte ich vermitteln

das man dies per VBA wieder ausbügeln kann ist eine, meines
Erachtens andere Geschichte und auch nicht jedermanns Sache

mfg Herbert
Eike Bimczok
2005-11-05 19:53:27 UTC
Permalink
Hallo Herbert,

mein erster Ansatz war auch über =Zelle("Format";A1) zu gehen (also ohne
VBA), aber leider gibt die Funktion nur wenig detaillierte
Informationen. Über VBA ist scheinbar die einzige Möglichkeit, den
sichtbaren Text aus anderen Zellen zu übernehmen _ohne_ von Hand die
Formatierung zu übernehmen. Müsste man das für sehr viele
unterschiedlich formatierte Zellen machen, dann ist eine automatische
Möglichkeit über die benutzerdefinierte Funktion sicherlich sehr praktisch.
Dein Hinweis auf den Unterschied zwischen Anzeige und tatsächlichem Wert
war aber in jedem Fall gut :-)

Gruß
Eike
Post by Herbert Taferner
Hallo Eike,
Post by Eike Bimczok
Function getValue(a As Range)
'11-2005
'E.Bimczok
If a.Count = 1 Then
getValue = a.Text
Else
getValue = "error"
End If
End Function
das man mit VBA fast alles machen kann, das ist wohl bekannt,
aber darum ging es meines Erachtens hier nicht
es ist ein sehr verbreiteter Irrglaube vieler Anwender, das
der in der Zelle durch Zellformat entsprechend angepaßte, sichtbare
Eintrag in der Zelle auch der tatsächliche Wert ist
dies ist eben nicht der Fall und das wollte ich vermitteln
das man dies per VBA wieder ausbügeln kann ist eine, meines
Erachtens andere Geschichte und auch nicht jedermanns Sache
mfg Herbert
Lesen Sie weiter auf narkive:
Loading...