captainchaos666
Goto Top

häkchen ersatz wird nicht richtig gelöscht

Hallo an Alle,
ich brauch eure Hilfe. Ich kann in der Spalte B mittels Doppelklick ein häkchen einfügen.

Syntax dazu:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Excel.Range, Cancel As Boolean)
If Not Intersect(Target, Range("B2:B999")) Is Nothing Then
If Target.Value = "" Then Hacken Else Target.Clear
Cancel = True
End If
End Sub


Sub Hacken()
ActiveCell.Value = "Ö"
ActiveCell.Font.Name = "Symbol"
End Sub


Wenn das Ö eingetragen wird, dann wird das häkchen gesetzt. Wenn ich mir die Excelliste anschaue dann sehe die häkchen richtig gesetzt (B3). Jetzt lese mit ein VB Appliaktion die Spalte B, Zeile für Zeile aus. Wenn ich nur in B3 das häkchen setze, dann lese ich mit der VB-Appliakation leere Strings aus (B1, B2). In B4 wird ein "Ö" ausgelesen. Nun mein Problem bei allen nachfolgenden Werten in Spalte B wird mir auch ein "Ö" wiedergegeben obwohl ich normal ein leeres Feld (String) erwarten würde. In der Exceldatei wird es aber richtig angezeigt!

Excelspalte
B1: Es wird mit VB ein "" ausgelesen
B2: Es wird mit VB ein "" ausgelesen
B3: Ö Es wird mit VB ein "Ö" ausgelesen
B4: Es wird mit VB ein "Ö" ausgelesen
B5: Es wird mit VB ein "Ö" ausgelesen
B6: Es wird mit VB ein "Ö" ausgelesen
B7: Es wird mit VB ein "Ö" ausgelesen
B8: Es wird mit VB ein "Ö" ausgelesen
B9: Es wird mit VB ein "Ö" ausgelesen



Könnt Ihr mir weiterhelfen


Dank Euch, Gruß

Alex

Content-Key: 59742

Url: https://administrator.de/contentid/59742

Printed on: April 19, 2024 at 21:04 o'clock

Member: bastla
bastla May 24, 2007 at 19:34:29 (UTC)
Goto Top
Hallo captainchaos666!

Ohne Deinen Auslese-Code gesehen zu haben, fällt mir dazu eigentlich nix ein, weil zB
Sub Lesen()
Dim i As Integer
For i = 1 To 9
    Debug.Print i, Cells(i, 2).Value, Len(Cells(i, 2).Value)
Next
End Sub
bei mir das zu erwartende Ergebnis
 1                           0 
 2                           0 
 3            Ö              1 
 4                           0 
 5                           0 
 6                           0 
 7                           0 
 8                           0 
 9                           0 
bringt.

Grüße
bastla
Member: captainchaos666
captainchaos666 May 24, 2007 at 19:47:57 (UTC)
Goto Top
Hallo bastla,

dein Beispiel würde ich auch erwarten:
Spalte B, Zeile
123456789
00H000000
001000000

tatsächlich lese ich :
Spalte B, Zeile
123456789
00H000000
001111111, tatsächlich mit VB gelesen


Gruß Alex
Member: bastla
bastla May 24, 2007 at 19:58:58 (UTC)
Goto Top
Hallo captainchaos666!

Mit meinem Code also auch die falschen Ergebnisse? Dann versuch vielleicht, dem Phänomen direkt in der Tabelle mit =LÄNGE(B4) und/oder =CODE(B4) auf die Spur zu kommen ...

00H000000
BTW: H steht für Haken?

Grüße
bastla
Member: captainchaos666
captainchaos666 May 28, 2007 at 16:40:34 (UTC)
Goto Top
@bastla,
Danke für deine Mühe! Es ist mir jetzt gerade ziemlich peihnlich, der Fehler lag beim auslesen von der Spalte, also funktioniert der Syntax bestens.


vielen Danke für deine Mühe

Gruß Alex