Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: VBA-Formel mit Variablen

VBA-Formel mit Variablen
28.07.2006 12:14:16
Anton
Hallo Leute,
ich möchte in eine VBA-Formel einen aufgezeichneten (festen) Wert durch eine Variable ersetzen:

Sub Sverweis()
Dim Eingabe As String
Dim Verweis As Long
Eingabe = InputBox("Bitte geben Sie das Datum" & Chr(10) & "der Auswertung ein:" & Chr(10) & "(JJJJMMTT)", "Dateneingabe:")
SVerweisEnde = Cells(Rows.Count, 2).End(xlUp).Row
For Verweis = SVerweisEnde To 2 Step -1
Cells(Verweis, 6).FormulaR1C1 = _
"=VLOOKUP(RC[-6],'[20060701 performance kabelBW -ausgewertet.xls]24.07.2006'!C1:C4,4,FALSE)"
Next Verweis
Range("G1").Select
End Sub

Das hier habe ich aufgezeichnet:
'[20060701 performance kabelBW -ausgewertet.xls]10.07.2006'! ....
...und sowas bilde ich mir ein:
'[" & Eingabe & " performance kabelBW -ausgewertet.xls]" & Eingabe2 &"'! ....
Wer kann mir bitte weiterhelfen.
Ich möchte auch aus einer Eingabe beide Angaben gewinnen.
Mein Dank geht schon jetzt in Eure Richtung.
Servus,
Anton
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA-Formel mit Variablen
28.07.2006 20:17:27
fcs
Hallo Anton,
ich habe dein Makro so ergänzt, dass das Eingabedatum auch in das 2.Datumsformat für den Tabellenblattnamen umgewandelt wird. Zusätzlich wird geprüft, ob die Eingabe abgebrochen wird bzw. die Eingabe ein sinnvolles Datum ergibt.
gruss
Franz

Sub Sverweis()
Dim Eingabe As String, strDatum As String, Datum As Date
Dim Verweis As Long
Eingabe:
Eingabe = InputBox("Bitte geben Sie das Datum" & Chr(10) & "der Auswertung ein:" & _
Chr(10) & "(JJJJMMTT)", "Dateneingabe:")
'Eingabeprüfung
If Eingabe = "" Then Exit Sub 'Abbrechen wurde angeklickt
'Umwandlung der Eingabe in das Format TT.MM.JJJJ
strDatum = Right(Eingabe, 2) & "." & Mid(Eingabe, 5, 2) & "." & Left(Eingabe, 4)
'Umwandlung der Eingabe in das excelinterne Datum
Datum = DateSerial(Val(Left(Eingabe, 4)), Val(Mid(Eingabe, 5, 2)), Val(Right(Eingabe, 2)))
'Überprüfung ob beide Datumsangaben identisch sind
If strDatum = Format(Datum, "DD.MM.YYYY") Then
SVerweisEnde = Cells(Rows.Count, 2).End(xlUp).Row
For Verweis = SVerweisEnde To 2 Step -1
Cells(Verweis, 6).FormulaR1C1 = _
"=VLOOKUP(RC[-6],'[" & Eingabe & " performance kabelBW -ausgewertet.xls]" & strDatum & "'!C1:C4,4,FALSE)"
Next Verweis
Else
If MsgBox("Eingabe '" & Eingabe & "' ist kein gültiges Datum! Eingabe wiederholen?", _
vbYesNo + vbExclamation) = vbYes Then
GoTo Eingabe
End If
End If
Range("G1").Select
End Sub

Anzeige
Herzlichen Dank
31.07.2006 08:18:23
Anton
Hallo Franz,
vielen Dank für Deinen genialen Code.
Die Datum-Prüfung brauche ich tatsächlich.... wie oft vertippt man sich...
Es sagt dankend servus,
Anton
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige