Das Clever-Excel-Forum.de - Treffen
... 14.-16. September 2018 im Allgäu ...

Codeberichtigung
#1
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
to top
#2
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
[-] Folgende(r) 1 Benutzer sagt Danke an RPP63 für diesen Beitrag:
  • VisualBasic
to top
#3
Danke für deine Hilfe,
jetzt kann ich heute am Samstag ein bißchen VBA üben.
to top
#4
Das ist kein VBA für Anfänger.

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


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste