Formeln in VBA
#1
Guten Morgen!
Ich möchte Formeln nicht in eine Zelle schreiben, sondern diese im Hintergrund im VBA Codebereich hinterlegen.

Hierfür habe ich eine Formel normal in eine Zelle geschrieben und diese dann durch Aufruf des Direktbereichs im VBA Editor mit folgendem Code in VBA 'übersetzt':
Code:
?Range("H7").Formula

Wenn ich Enter drücke erhalte ich die Formel wie gewünscht:

Code:
=IF(OR(B7="",C7=""),"",I7+G7)

Was muss ich tun, damit diese Formel nun im VBA Codebereich so hinterlegt wird, dass sie laufend mit der Zelle H7 verknüpft wird?

Das ist bisher mein Ansatz:

Code:
Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Adress = "G7" Then
Worksheets("Tabelle1").Range("H7").Value = I7 + G7
End If

End Sub

Danke mal wieder!

Gruß!

EDIT: Die Formel soll dabei nicht in der Zelle H7 erscheinen, sondern nur das Ergebnis als Zahl.
Ausgelöst wird das ganze durch einen Veränderten Wert in Zelle G7, deshalb als 'Worksheet_Change'
Top
#2
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address(0, 0) = "G7" Then
   Worksheets("Tabelle1").Range("H7").Value = Range("I7") + Range("G7")
End If
End Sub

Address schreibt man mit Doppel "d" :) Darüber bin ich schon so oft gestolpert...
Schöne Grüße
Berni
[-] Folgende(r) 1 Nutzer sagt Danke an MisterBurns für diesen Beitrag:
  • diving_excel
Top
#3
Vielen Dank! Ach, im Eifer des Gefechts... Ich schiebs mal darauf :D
Top


Gehe zu:


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