Microsoft Excel

Herbers Excel/VBA-Archiv

Zellbezeichnung in Formel schreiben

Betrifft: Zellbezeichnung in Formel schreiben von: Jannik
Geschrieben am: 28.04.2015 10:22:11

Hallo,

ich habe hier folgendes Problem; ich möchte gerne eine benutzerdefinierte Formel per Makro automatisch beim Beschreiben einer Zeile in eine bestimmte Zelle innerhalb dieser Zeile einfügen. Das Worksheet_Change event habe ich jetzt mal nicht in meine Beispielmappe eingefügt. Ich denke aber auch nicht, dass das nötig ist.

https://www.herber.de/bbs/user/97330.xlsm

Wichtig ist mir nur, das ich die ganzen Variablen (im Beispiel drei) über dynamische Variablen einfügen möchte. Was ich bislang geschafft habe, ist dass er mir jetzt die Funktion mit den drei Werten in die Zelle schreibt.

Ich hätte aber gerne, dass er mir stattdessen die ZELLBEZEICHNUNG WIE A2 (für variableA) einträgt, sodass ich beim eventuellen manuellen Vertauschen der Spalten nicht die Formel erneuern muss.

Naja außerdem steht in der Ergebniszelle noch #Wert anstelle einem Ergebnis, was ich da falsch gemacht habe weiß ich auch nicht...

Sub Formel_einfügen()
spalte = 0
    Do
    spalte = spalte + 1
        If Cells(1, spalte) = "X" Then
                spalte_x = spalte
            ElseIf Cells(1, spalte) = "Y" Then
                spalte_y = spalte
            ElseIf Cells(1, spalte) = "Z" Then
                spalte_z = spalte
            ElseIf Cells(1, spalte) = "Ergebnis" Then
                spalte_E = spalte
        End If
    Loop Until Cells(1, spalte) = ""

'das hier ist natürlich nur ein doofes Beispiel, die zeile wird natürlich auch dynamisch  _
bestimmt
zeile = 2

variableA = Cells(zeile, spalte_x)
variableB = Cells(zeile, spalte_y)
variableC = Cells(zeile, spalte_z)

Cells(zeile, 4).Formula = "=funktion(" & variableA & "," & variableB & "," & variableC & ")"
End Sub

Weiß jemand wie man die Zellen so in eine Formel schreiben kann?

Gruß Jannik

  

Betrifft: AW: Zellbezeichnung in Formel schreiben von: Rudi Maintaire
Geschrieben am: 28.04.2015 10:28:03

Hallo,
variableA = Cells(zeile, spalte_x).Address

Gruß
Rudi


  

Betrifft: AW: Zellbezeichnung in Formel schreiben von: Jannik
Geschrieben am: 29.04.2015 09:53:25

Vielen Dank (auch an EtoPHG für die Weiterleitung; das mit den Doppelposts ist wirklich lästig)

Mit dem Code hast du mich auf jeden Fall auf die richtige Fährte gesetzt, ich habe allerdings daraus

variableA = Cells(zeile, spalte_x).Address(false, false)
gemacht, um die Formel auch als solche benutzen zu können. Falls man nur .address schreibt, stehen in der Formel immer noch die Dollarzeichen und sie lässt sich damit nicht über die Autofill-Funktion in andere Zellen übertragen.

Grüße Jannik


 

Beiträge aus den Excel-Beispielen zum Thema "Zellbezeichnung in Formel schreiben"