Clever-Excel-Forum

Normale Version: Codeberichtigung
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo alle zusammen,

ich habe im Internet einige kleinere Codebeispiele gefunden, die mich interessieren und ich mir Schritt für Schritt mit der F8 Taste anschauen möchte:

Code:
Function CharacterArray(value As String)
   value = StrConv(value, vbUnicode)
   CharacterArray = Split(Left(value, Len(value) - 1), vbNullChar)
End Function

Sub example1()
   Dim d As String
   Dim myArray()
   myArray = CharacterArray("hi there")
End Sub


Sub example2()
Dim buff() As String
buff = Split(StrConv(my_string, vbUnicode), Chr$(0))
ReDim Preserve buff(UBound(buff) - 1) '
End Sub

Sub example3()
Dim buff() As String
ReDim buff(Len(my_string) - 1)
For i = 1 To Len(my_string)
   buff(i - 1) = Mid$(my_string, i, 1)
Next
End Sub
Leider zeigt der Compiler dabei Fehlermeldungen an. Könntet ihr die Beispiele entsprechend korrigieren? Danke im voraus.
http://stackoverflow.com/questions/13195...characters
Moin!
1. myArray() in example1 ist falsch dimensioniert, muss myArray heißen (ohne Klammern).
2. my_String in example2 und 3 ist nicht dimensioniert und besitzt keinen Wert.
3. i in example3 ist nicht dimensioniert.

Hier mal der berichtigte Code:

Modul Modul1
Option Explicit 
 
Function CharacterArray(value As String) 
   value = StrConv(value, vbUnicode) 
   CharacterArray = Split(Left(value, Len(value) - 1), vbNullChar) 
End Function 
 
Sub example1() 
   Dim d As String 
   Dim myArray 
   myArray = CharacterArray("hi there") 
End Sub 
 
 
Sub example2() 
Dim buff() As String, my_String As String 
my_String = "Hallo Welt!" 
buff = Split(StrConv(my_String, vbUnicode), Chr$(0)) 
Redim Preserve buff(Ubound(buff) - 1) ' 
End Sub 
 
Sub example3() 
Dim buff() As String, my_String As String, i As Long 
my_String = "Hallo Welt!" 
Redim buff(Len(my_String) - 1) 
For i = 1 To Len(my_String) 
   buff(i - 1) = Mid$(my_String, i, 1) 
Next 
End Sub 

Gruß Ralf
Danke für deine Hilfe,
jetzt kann ich heute am Samstag ein bißchen VBA üben.
Das ist kein VBA für Anfänger.

Verzichte auf 'Stackoverflow': das ist für professionelle Programmierer.