Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema InputBox
BildScreenshot zu InputBox InputBox-Seite mit Beispielarbeitsmappe aufrufen

Formelübertrag in VBA | Herbers Excel-Forum


Betrifft: Formelübertrag in VBA von: J Vogel
Geschrieben am: 26.01.2010 21:56:02

Hallo, suche eine Lösung für folgendes Problem:
in einem Arbeitsblatt in zelle K2 steht folgende Formel:

=WENN(L2<>"";(Preisblatt!$S16);"")

über ein VBA-Script mochte ich diese Formel aus Arbeitsblatt "Preisblatt"übernehmen mit dem Unterschied , dass die Nummer des Preisblattes zb 2 "preisblatt (2)" vorher abgefragt wird. Die Abfrage ist dabei nicht mein Problem, sondern der Formeleintrag in die zu schreibende Zelle. Entscheidend ist dabei, dass im Zielblatt die Bedingung im der Zielzelle so aussehen müsste:
=WENN(L2<>"";('Preisblatt (2)'!$S16);"")
diese Formel wird dann in der weiteren Bearbeitung auch wieder in den Spalten kopiert, also sollte der Bezug relativ sein. (das hab ich realisiert) :)

Für ein Hilfe wäre ich sehr dankbar...für die Profis sicher kein Problem.....
Gruss J Vogel

  

Betrifft: Funktion per VBA in variables Blatt eintragen von: NoNet
Geschrieben am: 26.01.2010 22:09:13

Hallo J.Vogel,

(bist Du DIESER J.Vogel ? ;-) : Jürgen Vogel

Hier der passende VBA-Code :

Sub FunktionErstellen()
    Dim lngNr As Long
    lngNr = InputBox("Bitte Preisblatt-Nr. eingeben (0 = ABBRUCH)")
    If lngNr <> 0 Then
        'Funktion in Zellen K2:K99 des Zieblattes eintragen :
        Sheets("Preisblatt (" & lngNr & ")").[K2:K99].Formula = _
            "=IF(L2<>"""",('Preisblatt (" & lngNr & ")'!$S16),"""")"
    End If
End Sub
Gruß, NoNet


  

Betrifft: AW: Funktion per VBA in variables Blatt eintragen von: J Vogel
Geschrieben am: 26.01.2010 23:15:34

Hallo NoNet,
hat mir sehr geholfen..
aber der "Vogel" bin ich nicht....der verdient sein Geld nicht mit Excelspielereien :-)
die Zeile ............"=IF(L2<>"""",('Preisblatt (" & lngNr & ")'!$S16),"""")"...............war's die ich einfach nicht gerafft hatte, den Rest hatte ich ja schon drin im Modul....( musste parallel auch noch eingebunden werden, aber jetzt klappts)...Danke
Gruss J.Vogel