Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.04.2024 14:18:05
28.04.2024 13:43:14
Anzeige
Archiv - Navigation
1780to1784
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
Inhaltsverzeichnis

sverweis mit variablem Tabellennamen

sverweis mit variablem Tabellennamen
15.09.2020 09:55:48
Werner
Hallo,
als Neuling in VBA für Excel suche ich Hilfe.
Eine Funktion soll
- aus dem aktuellen Tabellenblatt in Zelle A3 auslesen -- funktioniert
- dann mit dem erhaltenen Wert mit sverweis aus dem Tabellenblatt "Variablen" den entsprechenden Inhalt auslesen -- funktioniert nicht syntax error
so habe ich das gemacht:

Function StdLohn()
Dim JahrMonat As String
Dim LeseTabelle As String
JahrMonat = ActiveSheet.Range("A3")
LeseTabelle = "Variablen"
StdLohn=sverweis(JahrMonat;Lesetabelle!A4:A24;2;FALSCH)
Debug.Print "JahrMonat:  " & JahrMonat
Debug.Print "Lesetabelle:" & LeseTabelle
Debug.Print "Stundenlohn:" & StdLohn
End Function

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: sverweis mit variablem Tabellennamen
15.09.2020 11:54:57
Yal

Function StdLohn()
'** Variablen
Dim JahrMonat As String
Dim LeseTabelle As String
dim StdLohn
'** Initialisierung
JahrMonat = ActiveSheet.Range("A3")
LeseTabelle = "Variablen"
'** Behandlung
StdLohn = Application.WorksheetFunction.Lookup(JahrMonat, Range(LeseTabelle & "!A4:A24"), 2, _
False)
'** Ausgabe
Debug.Print "JahrMonat:  " & JahrMonat
Debug.Print "Lesetabelle:" & LeseTabelle
Debug.Print "Stundenlohn:" & StdLohn
End Function
Viel Erfolg
Yal
AW: sverweis mit variablem Tabellennamen
15.09.2020 12:09:21
Werner
Vielen Dank für die Hilfe.
Leider funktioniert es so nicht. Die Fehlermeldung sagt: "Falsche Anzahl an Argumenten oder ungültige Zuweisung zu einer Eigenschaft".
.Lookup ist dabei markiert.
Anzeige
AW: sverweis mit variablem Tabellennamen
15.09.2020 12:20:24
Werner
Oh, hatte vergessen die Variable StdLohn zu deklarieren.
Wenn ich das tue erhalte ich die Fehlermeldung:
Fehler beim Kompilieren, Mehrdeutiger Name: StdLohn
AW: sverweis mit variablem Tabellennamen
15.09.2020 13:12:16
Daniel
HI
deine Funktion heißt "StdLohn".
damit enthält sie automatisch eine Variable gleichen Namens für den Rückgabewert.
"StrLohn" kann und darf nicht zusätzlich deklariert werden.
Gruß Daniel
AW: sverweis mit variablem Tabellennamen
15.09.2020 14:01:08
Werner
Daniel, vielen Dank. Das eine Variable nicht zweimal deklariert werden kann, war mir eigentlich klar. Aber ich hab's trotzdem versucht. Ohne die Deklaration taucht wieder der erstgenannte Fehler auf.
Wäre dankbar für weitere Hilfe.
Anzeige
AW: sverweis mit variablem Tabellennamen
15.09.2020 14:24:38
Daniel
Hi
naja, du solltest schon wissen, welche Funktion du da verwendest.
LookUp oder VLookUp, bzw in Deutsch Verweis oder SVerweis.
dein Fehler ist, dass du LookUp als Funktion verwendest, aber die Parameter so angibst, wie es für den VLookUp erforderlich wäre.
also entweder die Funktion umbenennen oder die Parameter anpassen.
Gruß Daniel
AW: sverweis mit variablem Tabellennamen
15.09.2020 18:02:37
Werner
Hi Daniel,
Deine Antwort hilft mir leider nicht wirklich. Meine Intension war, mit sverweis zu arbeiten. Das habe ich nicht hinbekommen. Dann erhielt ich den Tipp mit Lookup (s.o.). Das klappt nun auch nicht.
Vielleicht kann mir jemand die Funktion so umstellen, dass sie funktioniert.
Das wäre prima.
Anzeige
War mein Fehler. VLookUp ist richtig. owT
16.09.2020 14:04:42
Yal
.
AW: War mein Fehler. VLookUp ist richtig. owT
16.09.2020 14:40:06
Werner
Hallo Yal,
leider funktioniert es auch nicht mit VLookup.
Laufzeitfehler 1004: Die Vlookup-Eigenschaften des WorksheetFunction-Objekt kann nicht zugeordnet werden.
Die Funktion sieht nun so aus (ich habe nur StdLohn in NStdLohn geändert, da StdLohn schon im Tabellenblatt verwendet wurde, hat aber auch nichts verbessert):
Function NStdLohn()
'** Variablen
Dim JahrMonat As String     'Aus aktivem Tabellenblatt Zelle A3)
Dim LeseTabelle As String
'Dim NStdLohn As String     'geht nicht, sonst doppelte Deklaration
'** Initialisierung
JahrMonat = ActiveSheet.Range("A3")
LeseTabelle = "Variablen"
'** Behandlung
NStdLohn = Application.WorksheetFunction.VLookup(JahrMonat, Range(LeseTabelle & "!A4:A24"),  _
2, False)
'** Ausgabe
Debug.Print "JahrMonat:  " & JahrMonat
Debug.Print "Lesetabelle:" & LeseTabelle
Debug.Print "Stundenlohn:" & NStdLohn & "€"
End Function

Anzeige
AW: War mein Fehler. VLookUp ist richtig. owT
16.09.2020 15:10:06
peterk
Hallo
Probier mal (Ergebnis wird aus der 2 Spalte geholt, also B)

Function StdLohn()
'** Variablen
Dim JahrMonat As String     'Aus aktivem Tabellenblatt Zelle A3)
Dim LeseTabelle As String
Dim NStdLohn As String
'** Initialisierung
JahrMonat = ActiveSheet.Range("A3")
LeseTabelle = "Variablen"
'** Behandlung
NStdLohn = Application.VLookup(JahrMonat,Worksheets(LeseTabelle).Range("A4:B24"),2, False)
'** Ausgabe
Debug.Print "JahrMonat:  " & JahrMonat
Debug.Print "Lesetabelle:" & LeseTabelle
Debug.Print "Stundenlohn:" & NStdLohn & "€"
End Function

Anzeige
AW: War mein Fehler. VLookUp ist richtig. owT
16.09.2020 15:19:05
Werner
Hallo PeterK,
Vielen Dank für den Tipp. Funktioniert leider auch nicht, gleiche Fehlermeldung.

307 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige