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.

Wenn Funktion...Hilfe...
#1
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!
Antworten Top
#2
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
Antworten Top
#3
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.
Antworten Top
#4
Hallo nochmal,

eine Formel in einem Listobjekt / Strg+T-Tabelle fügt sich automatisch ein.

Viele Grüße
derHöpp
Antworten Top
#5
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
Antworten Top
#6
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)
Antworten Top


Gehe zu:


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