Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
876to880
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
876to880
876to880
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Len, Erwartet:bezeichner

Len, Erwartet:bezeichner
18.06.2007 14:29:00
Roberto
Hallo.
Ich habe folgendes Problem:
Ich schreibe gerade an einer Funktion, die mir ein Array des String-Typs (Telefonnummern mit Sonderzeichen) umformatiert. Und zwar sollen alle Leerzeichen, Sonderzeichen etc. gelöscht werden. Da ich das gerne mit einer Schleife durchlaufen lassen würde, brauche ich jedoch erst einmal die Länge des Strings. Der Code sieht momentan so aus:

Function nrvalidierungv(Nrv)
Len(Nrv(1))
End Function


Natürlich soll später nicht nur der erste Datensatz des Arrays abgerufen werden, zum Testen verwende ich erst einmal den Zeiger 1.
Wenn ich nun den Befehl Len(Nrv(1)) eingebe, dann bekomme ich direkt folgende Fehlermeldung:
Erwartet: Bezeichner
Wenn ich das Programm dann kompiliere, bekomme ich folgende Meldung:
Syntaxfehler
Ich hoffe mir kann jemand helfen.
Danke schonmal
Gruß
Roberto

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Len, Erwartet:bezeichner
18.06.2007 14:34:00
Peter
Hallo Roberto,

Function nrvalidierungv(Nrv)
nrvalidierungv = Len(Nrv)
End Function


und die Telefonnummer in A1, dann in B1 =nrvalidierungv(A1) bringt die Länge.
Gruß Peter

AW: Len, Erwartet:bezeichner
18.06.2007 15:01:00
Roberto
Danke, das hat funktioniert. Wobei das doch eigentlich genau das selbe sein müsste, wie mein Code!?

AW: Len, Erwartet:bezeichner
18.06.2007 14:36:45
Andi
Hi,
wenn Du ein Array an eine Funktion übergeben willst, dann muss der Header der Funktion so aussehen, wie Beispiel unten:

Sub t()
ReDim nrv(1 To 2) As String
Dim a
nrv(1) = "Hallo"
nrv(2) = "Servus"
a = tt(nrv())
MsgBox a
End Sub



Function tt(nrv() As String) As Variant
tt = Len(nrv(1))
End Function


Schönen Gruß,
Andi

Anzeige
AW: Len, Erwartet:bezeichner
18.06.2007 14:37:00
Renee
Hello Roberto,
Dein Array Nrv ist nicht dimensioniert.
Aber ich glaube Du vermischt da eh einige Sachen. Vermutlich würde ein einfacher String genügen.
Dann kannst Du mit der Funktion MID(string, start, Länge) die einzelnen Positionen im String ansprechen. Oder Du guckst Dir mal das Archiv um
Greetz Renee

AW: Len, Erwartet:bezeichner
18.06.2007 14:48:39
Roland
Hallo Roberto,
das müsste m.E. reichen:
Option Explicit

Private Function nrvalidierungv(Nrv As String) As String
Dim i As Integer, tmpStr As String
For i = 1 To Len(Nrv)
If IsNumeric(Mid(Nrv, i, 1)) Then tmpStr = tmpStr & Mid(Nrv, i, 1)
Next
nrvalidierungv = tmpStr
End Function


Sub test()
MsgBox nrvalidierungv(Range("A1"))
End Sub


Wars das?
Gruß aus Berlin
Roland Hochhäuser

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige