Registriert seit: 15.09.2022
Version(en): Home and Business 2016
Ich möchte folgende Funktion über einen VBA-Code ausführen lassen:
Wenn A3 enthält einen Wert dann in K3 "Formel eintragen"
Wenn A4 enthält einen Wert dann in K4 "Formel eintragen"
Wenn A5 enthält einen Wert dann in K5 "Formel eintragen"
Wenn A6 enthält einen Wert dann in K6 "Formel eintragen" und so weiter...
Sobald in "A" kein Wert soll er stoppen.
Danke vorab für die Hilfe!
Registriert seit: 26.09.2022
Version(en): 2019
Moin,
auch hier stellt sich die Frage nach dem Zweck der Aktion. Das lässt sich doch auch über eine Formel erledigen. Oder du trägst die Formel direkt ein. Oder du machst die Datei so sprechend, dass jeder ohne VBA weiß, was er zu tun hat.
Viele Grüße
derHöpp
Registriert seit: 15.09.2022
Version(en): Home and Business 2016
Ich möchte den Code auf verschiedene Tabellen anwenden und immer wieder aufrufen können.
Eine Formel immer wieder einzutragen und auf alle Zeilen anzuwenden ist doch umständlicher.
Registriert seit: 26.09.2022
Version(en): 2019
Hallo nochmal,
eine Formel in einem Listobjekt / Strg+T-Tabelle fügt sich automatisch ein.
Viele Grüße
derHöpp
Registriert seit: 15.09.2022
Version(en): Home and Business 2016
Habe es jetzt mit dieser Formel hinbekommen:
Code:
Sub insert_formula()
' |- WIP - Insert Formula - not working -|
Dim dat As Variant
Dim rng As Range
Dim i As Long
Set rng = Range(Range("A3"), Range("A3").End(xlDown))
dat = rng
For i = LBound(dat, 1) To UBound(dat, 1)
If dat(i, 1) <> "" Then
rng(i, 11).Formula = "=iferror(I3-P3;""-9999"")"
End If
Next
'|- WIP - END -|
End Sub
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hallöchen,
Du kannst das auch über ein WorkSheet_Change-Ereignis des Tabellenblattes beim Eintragen oder Löschen von Daten in Spalte A erreichen.
Das geht auch global als Workbook_SheetChange für das ganze Dokument in DieseArbeitsmappe, im Prinzip so. Die Formel hab ich hier mal mit Hochkomma versehen, die geht so nicht.
Code:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
'Wenn die Spalte 1 und die Zeile >= 3 ist, dann
If Target.Column = 1 And Target.Row >= 3 Then
'Wenn was in der Zelle steht, dann
If Target.Value <> "" Then
'Formel in L eintragen (11 Spalten weiter)
Target.Offset(0, 11).Formula = "'=iferror(I3-P3;""-9999"")"
'Ansonsten ( 'Wenn was in der Zelle steht, dann)
Else
'Zellinhalt entfernen
Target.Offset(0, 11).Value = ""
'Ende Wenn was in der Zelle steht, dann
End If
'Ende Wenn die Spalte 1 und die Zeile >= 3 ist, dann
End If
End Sub
. \\\|/// Hoffe, geholfen zu haben.
( ô ô ) Grüße, André aus G in T
ooO-(_)-Ooo (Excel 97-2019+365)