Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

Initialwert bei string * 10

Betrifft: Initialwert bei string * 10 von: Eddie Felson
Geschrieben am: 15.08.2008 11:03:27

Hallo,
ich habe ein kleines Problem mit der Type Anweisung.
Ich definiere in der Struktur u.a.


Type TestTest
    teststring As String * 10
End Type
Dim Test(500) As TestTest



Zu meinem erstaunen, steht in z.B. Test.teststring, bevor die Variable das erste mal beschrieben wurde, 10 Zeichen a Asc(0), anstatt wie in einem Buch beschrieben 10 Leerzeichen.

In meinem Fall ist dieses Verhalten relativ ärgerlich, da die Abfrage, ob die Var. schon mal beschrieben war, mittels

if trim(Test.teststring)="" then ...



nicht funktioniert. Denn wie ich das sehe, filtert Trim nur Leerzeichen aus, aber nicht ASC(0)

Dadurch muß ich für den Leertest jetzt eine ärgerlich Doppelabfrage machen

if trim(Test.teststring)="" or if trim(Test.teststring)=0 then ...



Das Ergebnis trim(Test.teststring)="" würde ja wohl eintreten, wenn die Var. schonmal beschrieben und wieder gelöscht wurde.
Mache ich dabei einen Denkfehler, oder geht es leichter zu machen? Kann man die komplette Struktur auf 10 * Space initialisieren, ohne extra eine Schleife zu machen?

Gruß Eddie

  

Betrifft: AW: Initialwert bei string * 10 von: Eddie Felson
Geschrieben am: 15.08.2008 11:14:52

ich hatte mich im letzten Code vertan, so ists richtig:

Trim(Test(1).teststring) = "" Or Asc(Right(Test(1).teststring, 1)) = 0




  

Betrifft: AW: Initialwert bei string * 10 von: ransi
Geschrieben am: 15.08.2008 12:27:04

HAllo

Clean greift im Gegensatz zu Trim.
Replace geht auch.

Option Explicit


Dim Test(500) As TestTest

Type TestTest
    TestString As String * 10
End Type



Public Sub t()
MsgBox Replace(Test(0).TestString, Chr(0), "") = ""
MsgBox Application.Clean(Test(0).TestString) = ""
End Sub


ransi


  

Betrifft: AW: Initialwert bei string * 10 von: Eddie Felson
Geschrieben am: 18.08.2008 18:32:19

Besten Dank!


 

Beiträge aus den Excel-Beispielen zum Thema "Initialwert bei string * 10"