Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Vorwärts/Rückwärts

Forumthread: Vorwärts/Rückwärts

Vorwärts/Rückwärts
06.05.2024 16:11:18
Hesperaxius
Hallo Zusammen,
ich verstehe es einfach nicht.
Beim Code: funktioniert alles

If ActiveCell.Value = ChrW(11113) Then
ActiveCell.Value = ChrW(11113) + " " + ChrW(10004)
ElseIf ActiveCell.Value = ChrW(11113) + " " + ChrW(10004) Then
ActiveCell.Value = ChrW(11113)

Aber bei: geht nix

If ActiveCell.Value = ChrW(48) Then
ActiveCell.Value = ChrW(10004)
ElseIf ActiveCell.Value = ChrW(10004) Then
ActiveCell.Value = ChrW(48)

Hat jemand eine Idee?
Liebe Grüße
Anzeige

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Vorwärts/Rückwärts
06.05.2024 16:14:11
Hesperaxius
Kleiner Nachtrag,
das ganze ist für einen Doppelklick in die Zelle
AW: Vorwärts/Rückwärts
06.05.2024 16:17:26
Onur
Und WAS GENAU soll das ganze bewirken?
AW: Vorwärts/Rückwärts
06.05.2024 16:30:11
Onur
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

Cancel = True
If CStr(Target) = ChrW(48) Then
Target = ChrW(10004)
ElseIf CStr(Target) = ChrW(10004) Then
Target = 0
End If
End Sub
Anzeige
AW: Vorwärts/Rückwärts
06.05.2024 16:20:29
Yal
Salvé Hesperaxius,

ChrW(48) ergibt "1". Wenn die Zelle nicht als Text formatiert ist, interpretiert Excel die Wert als 1 und nicht als Ascii 48.
Beim Vergleich könnte CStr helfen:

Select Case CStr(ActiveCell.Value)

Case ChrW(48): ActiveCell.Value = ChrW(10004)
Case ChrW(10004): ActiveCell.Value = ChrW(48)
End Select


VG
Yal
Anzeige
AW: Vorwärts/Rückwärts
06.05.2024 16:29:58
daniel
Hi
ganz einfach:
in der Zelle steht die Zahl 0
das ChrW(48) ergibt aber das Zeichen "0", also einen Text und nicht die Zahl 0.
Zahl und Text ist für Excel nie das gleiche, auch wenn die Zahl im Dezimalsystem zufälligerweise so aussieht wie der Text (denn im Dual- oder einem anderen Zahlensystem würde die selbe Zahl ja durch einen anderen Text dargestellt werden)

am einfachsten ist, du änderst das erste IF so ab:
If ActiveCell.Text = ChrW(48) Then

denn mit AcitveCell.Text bekommst du die Zeichen, die in der Zelle angezeigt werden.

Gruß Daniel
Anzeige
AW: Vorwärts/Rückwärts
06.05.2024 17:28:01
daniel
Hi
noch ne Lösung für das Problem "0">0:
dreh einfach die Abfragelogik um und ermittle den ASCII-Wert der Zelle:

If AscW(ActiveCell.Value) = 48 Then


bei AscW wird die Implizite Typumwandlung aktiv, dh aus der Zahl 0 wird automatisch das Zeichen "0"

Gruß Daniel
Anzeige
AW: Vorwärts/Rückwärts
06.05.2024 19:53:37
Piet
Hallo

so klappt der Code bei mir, ich bin gespannt ob das die richtige Lösung ist??
Scheint vieleicht ein Text/Zahl Problem zu sein?

mfg Piet

Sub test3()

If ActiveCell.Value = 0 Then
ActiveCell.Value = ChrW(10004)
ElseIf ActiveCell.Value = ChrW(10004) Then
ActiveCell.Value = 0
End If
End Sub
Anzeige
AW: Vorwärts/Rückwärts
07.05.2024 07:41:36
Hesperaxius
Mega, AscW hat geholfen.
Vielen Dank an alle

Liebe Grüße
Hesperaxius
AW: Vorwärts/Rückwärts
07.05.2024 08:26:26
Hesperaxius
Ach ja, das wird ein Formular für faule, denen es zuviel ist dinge zu Unterstreichen oder zu markieren. Doppelklick eine Aktion. Nochmal Doppelklick aktion wieder zurück.

Danke nochmal an alle
AW: Vorwärts/Rückwärts
06.05.2024 19:54:58
Onur
Er schrieb doch: "Kleiner Nachtrag, das ganze ist für einen Doppelklick in die Zelle "
Anzeige
AW: Vorwärts/Rückwärts
06.05.2024 16:28:34
Onur
"ChrW(48) ergibt "1"" ? Bei mir ergibt das eine "0".
AW: Vorwärts/Rückwärts
06.05.2024 16:31:58
Yal
Tja, alles wird teurer.

Habe mich verzettelt. "0" ist richtig. Sollte aber dieselbe Wirkung haben.

VG
Yal
AW: Vorwärts/Rückwärts
06.05.2024 16:39:55
Onur
Ich dachte schon, mein Rechner wäre kaputt. ;)
Shit happens.
Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige