Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.10.2025 10:28:49
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: VBA Zelle mit Formel überschrieben

VBA Zelle mit Formel überschrieben
08.01.2021 15:14:45
Marko
Hallo
der Wert in dem Sheet "Tabelle3" in der Zelle "C19" wird mit diesem Makro automatisch berechnet. Nun möchte ich diesen Wert in Zelle "C19" -manuell - ändern und überschreiben. In einem weiteren Makro (über Command Button) übertrage ich diesen Wert aus Zelle "C19" in eine weiteres Sheet. Nachdem ich den Button betätigt habe, ändert sich der Wert in Zelle "C19" wieder in den durch die Formel errechneten Wert und wird übertragen. Wie bekomme ich es es hin, diesen -manuell- eingetragenen Wert zu übertragen?
Vielen Dank für Eure Unterstützung.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim oBlatt As Worksheet
Set oBlatt = ThisWorkbook.Worksheets("Tabelle3")
With oBlatt
.Range("c19").FormulaLocal = "=WENN(c14>c16;c14;c16)"
End With
Set oBlatt = Nothing
End Sub
Private Sub CommandButton1_Click()
Application.Run "FormelnSchreiben1"
With Application
.ScreenUpdating = False
.EnableEvents = False
.Calculation = xlCalculationManual
End With
Dim raBereich As Range
Dim KndProd As Variant
Dim WerteTab4 As Variant
Dim zeile As Long, zeiTab As Long
With Worksheets("Tabelle3")
Set raBereich = Union(.Range("C5"), .Range("C11"), .Range("C19"))
KndProd = .Range("C5").Text & " | " & .Range("C11")
With Worksheets("Tabelle4")
zeiTab = .Cells(.Rows.Count, 1).End(xlUp).Row
WerteTab4 = .Range(.Cells(2, 1), .Cells(zeiTab, 2))
zeiTab = 1
For zeile = LBound(WerteTab4) To UBound(WerteTab4)
zeiTab = zeiTab + 1
If KndProd = WerteTab4(zeile, 1) & " | " & WerteTab4(zeile, 2) Then
If MsgBox("Leistungsgruppe ist bereits vorhanden" & vbLf _
& KndProd & vbLf _
& "Daten überschreiben?", vbQuestion + vbYesNo, "Daten übertragen") = vbYes  _
_
Then
raBereich.Copy
.Cells(zeiTab, 1).PasteSpecial Paste:=xlPasteValues, Transpose:=True
End If
GoTo Weiter
End If
Next
raBereich.Copy
.Cells(zeiTab + 1, 1) _
.PasteSpecial Paste:=xlPasteValues, Transpose:=True
End With
Weiter:
Application.CutCopyMode = False
.Range("C5").ClearContents
.Range("C11").ClearContents
.Range("C19").ClearContents
End With
With Application
.ScreenUpdating = True
.EnableEvents = True
.Calculation = xlCalculationAutomatic
End With
Range("C5").Select
End Sub

Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Zelle mit Formel überschrieben
08.01.2021 18:45:26
Yal
Hallo Marko,
ich verstehe nicht.
Probiere:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Target.Address = "$C$19" Then Exit Sub
If Target.FormulaLocal  "=WENN(C14>C16;C14;C16)" Then
'...Da findet die Kopiererei statt
Target.FormulaLocal = "=WENN(C14>C16;C14;C16)"
End If
End Sub
=WENN(C14>C16;C14;C16)
ist übrigens gleich
=MAX(C14;C16)
Viel Erfolg
Yal
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige