Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

VBA Variable in Formel übergeben
#1
Hallo allerseits,

Heute habe ich mich gefragt, wie ich den Inhalt einer Variablen in meinem VBA Code in eine Formel einbauen kann, mit der ich eine Zelle füllen möchte.

Mein aktueller Code beinhaltet folgendes :
Code:
Dim WS As Long
Dim Benutzererfassung As String
Benutzererfassung = "=WENNNV(WENN(SVERWEIS($B26;Gruppierung!F:F;1;FALSCH)=$B26;INDEX(Gruppierung!B:B;VERGLEICH($B26";Gruppierung!F:F;0));Error);""Nicht zugeordnet"")"
    For WS = 200 To 250 Step 1
        If Cells(WS, 2) = "PLACEHOLDERWSE" Then
            If IsEmpty(Cells(WS - 1, 2).Value) = False Then
             Cells(WS, 3).FormulaLocal = Benutzererfassung
             Exit For
            End If
        End If
    Next WS
End Sub

Der Code an sich funktioniert soweit super, die Formel wird in die Zelle geschrieben und funktioniert auch soweit, nun möchte ich allerdings unter "Benutzererfassung" jeweils "$B26" durch etwas wie $B"&WS&" tauschen, kriege aber die Syntax wohl nicht ganz richtig hin.

Kann mir hier wohl jemand weiterhelfen?

LG, Majusch
Antwortento top
#2
Hallo Majusch,

der Gedanke war schon richtig, leider braucht VBA an der Stelle einige Leerzeichen.
Code:
$B" & WS & "

Gruß,
Lutz
[-] Folgende(r) 1 Benutzer sagt Danke an Lutz Fricke für diesen Beitrag:
  • Majusch
Antwortento top
#3
Danke für die schnelle Antwort, habe jetzt folgende Anpassung getätigt : 
Code:
Benutzererfassung = "=WENNNV(WENN(SVERWEIS($B" & WS & ";Gruppierung!F:F;1;FALSCH)=$B" & WS & ";INDEX(Gruppierung!B:B;VERGLEICH($B" & WS & ";Gruppierung!F:F;0));Error);""Nicht zugeordnet"")"

Leider kriege ich jetzt folgenden Fehler :

Laufzeitfehler '1004'

Anwendungs- oder objektdefinierter Fehler


Anymore ideas? Für mich sieht alles richtig aus.

LG
Antwortento top
#4
Code:
c00 = "=WENNNV(WENN(SVERWEIS($B~;Gruppierung!F:F;1;FALSCH)=$B~;INDEX(Gruppierung!B:B;VERGLEICH($B~;Gruppierung!F:F;0));Error);""Nicht zugeordnet"")"

For j = 200 To 250 Step 1
  If Cells(j, 2) = "PLACEHOLDERWSE" Then
    If Cells(j- 1, 2)<>"" Then
      Cells(j, 3).FormulaLocal = replace(c00,"~",j)
      Exit For
    End If
  End If
Next
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
[-] Folgende(r) 1 Benutzer sagt Danke an snb für diesen Beitrag:
  • Majusch
Antwortento top
#5
Das hats gelöst, ich danke vielmals  97
Antwortento top


Gehe zu:


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