Anzeige
Archiv - Navigation
592to596
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
592to596
592to596
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Wieso klappt das so?

Wieso klappt das so?
05.04.2005 10:19:54
Tobias
Guten Morgen!
Ich hatte gerade ein Makro als Antwort fuer einen Beitrag geschrieben, welches das Hochkomma entfernen soll. Der Source sieht so aus:

Sub temp()
endup = Range("A65536").End(xlUp).Row
For i = 1 To endup
Range("A" & i).Activate
ActiveCell.Value = Right(ActiveCell.Value, Len(ActiveCell))
Next i
End Sub

Nun meine Frage: Wieso funktioniert das Makro? Letztendlich macht es doch nichts anderes, als den Wert der aktiven Zelle zu veraendern, aber eigentlich ja auch nicht, weil Right(ActiveCell.Value, Len(ActiveCell)) doch eigentlich dasselbe sein muesste wie ActiveCell.Value, da ich weder vorne noch hinten was abschneide. Trotzdem werden die Hochkommata entfernt. Weiss jemand, wieso?
Gruesse
Tobias

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Wieso klappt das so?
05.04.2005 10:29:50
Tobias
Hallo Tobias,
ich glaube es liegt daran das man durch dass auslesen des Zelleninhaltes und erneuten Schreiber des Inhaltes in die Zelle das Zellenformat auf Standard gesetzt wird. :-)
Gruß Tobias
AW: Wieso klappt das so?
05.04.2005 10:31:15
Tobias
Servus!
Habs grad eben getestet, das Zellformat bleibt dasselbe, also muss es doch etwas anderes sein.
Gruss

Tobias
AW: Wieso klappt das so?
05.04.2005 10:30:43
Panicman
Hallo Tobias,
das klappt, weil len() das Hochkomma nicht mitzählt.
A1 = '12345 = Länge(A1) = 5 (obwohl eigentlich 6)
A2 = 12345 = Länge(A2) = 5
Also Länge von Rechts ist dann ohne Hochkomma.
Gruß
Holger
AW: Wieso klappt das so?
05.04.2005 10:32:47
Tobias
Servus Holger,
bist du dir da sicher?
Der code klappt naemlich auch genauso, wenn ich das len() durch eine feste Zahl ersetze, z.B. ActiveCell.Value = Right(ActiveCell.Value, 255).
Any ideas?
Gruss

Tobias
Anzeige
AW: Wieso klappt das so?
05.04.2005 10:41:41
IngoG
Hallo Tobias,
mw ist das Hochkomma an der ersten Stelle nicht Teil des Strings, sondern ein Steuerzeichen für Excel. Wenn Du zB links(a1,1) schreibst erhälst Du nicht ' sondern 1.
Gruß Ingo
AW: Wieso klappt das so?
05.04.2005 10:43:43
Tobias
Servus Ingo,
sowas hab ich mir auch schon gedacht... dein Beispiel ist ja im Prinzip dasselbe wie bei mir, nur halt als Formel.
Finds aber lustig, dass das klappt - wie aus Programmierfehlern manchmal doch was Gutes entsteht :)

Gruss

Tobias
AW: Wieso klappt das so?
05.04.2005 10:42:50
Panicman
Hallo Tobias,
du hast Recht. Es ist auch in der Zelle egal, ob du links(A1;255) oder recht(A1,255) oder Text(A1;"@") nimmt, das Hochkomma wird immer ignoriert. Da es für Excel ja nur eine Formatierung ist, wird es anscheinend bei Formeln und VBA immer ignoriert.
Also keine wirkliche Erklärung.
Gruß
Holger
Anzeige
AW: Wieso klappt das so?
05.04.2005 10:44:01
u_
Hallo,
' wird als Steuerzeichen interpretiert und nicht als Zellinhalt.
Schreib mal in eine Zelle '12345 und dann im Direktfenster ? Selection
Was siehst du?
Gruß
AW: Wieso klappt das so?
05.04.2005 10:46:56
Tobias
Servus Udo,
ich seh 12345 :) Aber das mit dem Steuerzeichen war mir eben nicht bekannt... jetzt bin ich schon wieder schlauer :-)

Gruss

Tobias
AW: Wieso klappt das so?
05.04.2005 10:55:37
UweD
Hallo
Links, rechts usw. kannst du ganz weglassen..
ActiveCell.Value = ActiveCell.Value
macht das selbe.
Das ' wird als Steuerzeichen interpretiert. Rest wird gelesen (also das was du als Zellinhalt siehst) und das wird der Zelle neu zugeordnet....
Gruß Uwe
Anzeige
AW: Wieso klappt das so?
05.04.2005 10:57:03
Tobias
Servus!
Das is natuerlich ne nette Sache... vielen Dank euch allen fuer die Hilfe!
Gruss

Tobias

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige