Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1760to1764
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Formel überschreiben in einer andere Zelle

Formel überschreiben in einer andere Zelle
03.06.2020 10:05:57
Hendrik
Gute Tag,
ich würde gerne beim Schließen der Exceldatei ein Marko ausfrühren.
Wenn in einer Zelle ein Wert enthalten ist, dann soll in einer anderen Zelle die Formel als "Wert" umgewandelt sprich die Formel soll überschrieben werden. Falls die Zelle "Leer" ist soll nichts passieren.
Für Vorschläge oder Tipps würde ich mich freuen!
Vielen Dank
Hendrik

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Formel überschreiben in einer andere Zelle
03.06.2020 10:24:22
Matthias
Hallo
dann musst Du schon dazuschreiben welche Zelle
Für die aktive Zelle so:
Code gehört in DieseArbeitsmappe
Private Sub Workbook_BeforeClose(Cancel As Boolean)
If ActiveCell.HasFormula Then ActiveCell.Value = ActiveCell.Value
End Sub
evtl. dannach noch speichern.
Gruß Matthias
AW: Formel überschreiben in einer andere Zelle
03.06.2020 10:41:46
Hendrik
Jetzt nochmal mit ein genauer Zellenbeschreibung:
Wenn in Zelle "Z" ein Wert bzw. nicht Leer ist, dann soll in Zelle "AB" die Formel als Wert umgewandelt werden
kleine Korrektur ...
03.06.2020 10:44:08
Matthias
Zitat:
dann soll in einer anderen Zelle die Formel als "Wert" umgewandelt sprich die Formel soll überschrieben werden
Dann muss es natürlich so heißen:
If ActiveCell.HasFormula Then DeineZelle.Value = ActiveCell.Value
Wobei DeineZelle die Zielzelle ist wo Du den Wert baruchst.
Für ActiveCell müsstest Du dann eben die Zelle eintragen ich welcher die Formel steht.
Gruß Matthias
Anzeige
AW: kleine Korrektur ...
03.06.2020 10:51:56
Hendrik
Hallo Matthias,
vielen Dank für deine schnelle Hilfe.
Wir bei deinem Marko auch berücksichtigt, dass wenn in Zelle "Z" nichts steht die Formel in Zelle "AB" nicht überschrieben wird?
Gruß,
Hendrik
AW: kleine Korrektur ...
03.06.2020 11:04:14
Matthias
Hallo
Nicht ganz
Mit HasFormula wird nur abgefragt ob eine Formel in der Zelle steht.
Ist das Ergebnis ein Leerstring, wird damit nicht geprüft.
Ist mE auch nicht nötig, es sei denn es gibt in der Zielspalte bereits Daten die nicht überschrieben werden sollen. Das hattest Du aber so nicht erwähnt.
Gruß Matthias
Lösung, trotz ungenuaer Angaben
03.06.2020 10:34:54
Felix
Deine Angaben sind recht ungenau, aber ich würde mal
Private Sub Workbook_Close()
Sheets(1).UsedRange = Sheets(1).UsedRange.Value
End Sub

Dadurch wird der gesamte Benutze Bereich in Tabelle(1) durch den Wert ersetzt. Es gehen aber auch Formatierung etc verloren
Sonst würde ein bisschen Rechenaufwändiger

Private Sub Workbook_Close()
Sheets(1).UsedRange.Copy
Sheets(1).UsedRange.PasteSpecial Paste:= xlPasteValuesAndNumberFormats
End Sub

VLG Felix
Anzeige
ich rate dringend ab ...
03.06.2020 11:10:22
Matthias
Hallo
ich rate dringend ab mit dem Index der Register zu arbeiten, Felix.
Dann nimm lieber den CodeNamen der Tabelle.
Zu oft werden mal ein paar Register verschoben.
Soll nur ein Hinweis sein!
Gruß Matthias
AW: Formel überschreiben in einer andere Zelle
03.06.2020 11:21:49
Hendrik
Das ist mein aktueller Stand, jedoch überschreibt er auch die Formeln in "AB" auch wenn Zelle "Z" leer ist. Hat einer eine Idee hierzu?
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim wks As Worksheet
Dim iRow As Integer
Set wks = Worksheets(1)
For iRow = 1 To wks.Cells(wks.Rows.Count, 26).End(xlUp).Row
If Not IsEmpty(wks.Cells(iRow, 26)) Then
wks.Cells(iRow, 28).Value = wks.Cells(iRow, 28).Value
End If
Next iRow
End Sub

Gruß, Hendrik
Anzeige
AW: Formel überschreiben in einer andere Zelle
03.06.2020 11:58:21
Matthias
Hi
Du willst also nicht die Formel von "Z" nach "AB" als Wert bringen, sondern
wenn in "Z" irgend etwas steht und der gleichen Zeile in Spalte "AB" steht eine Formel soll
also die Formel in "AB" durch ihren Formelergebniswert ersetzt werden.
Bei mir funktionierts.
Die Formeln in "AB" werden nicht überschrieben, wenn die Zelle in "Z" leer ist.
Vermutlich ist bei Dir die Zelle nicht leer.
Ich habe den Code jetzt so benutzt:
Dim wks As Worksheet
Dim iRow As Long
Set wks = Tabelle1 'Codename der Tabelle
With wks
For iRow = 1 To .Cells(.Rows.Count, 26).End(xlUp).Row
If Not IsEmpty(.Cells(iRow, 26)) Then
.Cells(iRow, 28).Value = .Cells(iRow, 28).Value
End If
Next iRow
MsgBox iRow
End With
Gruß Matthias
Anzeige
AW: Formel überschreiben in einer andere Zelle
03.06.2020 12:15:04
Hendrik
Hi,
in Zelle "Z" ist eine Formel drin kanne es daran liegen?
Gruß,
Hendrik
Ja ... owT
03.06.2020 12:17:30
Matthias
AW: Ja ... owT
03.06.2020 13:11:39
Hendrik
Hast du eine Idee wie man das umgehend könnte? Die Formel in Zelle "Z" muss bestehen bleiben.
auch Ja ...
03.06.2020 13:36:50
Matthias
Hallo
Sub Hendrik()
Dim wks As Worksheet
Dim iRow As Long
Set wks = Tabelle1 'Codename der Tabelle
With wks
For iRow = 1 To .Cells(.Rows.Count, 26).End(xlUp).Row
If Not IsEmpty(.Cells(iRow, 26)) Then
If .Cells(iRow, 26)  "" Then
.Cells(iRow, 28).Value = .Cells(iRow, 28).Value
End If
End If
Next iRow
End With
End Sub
Gruß Matthias
AW: auch Ja ...
03.06.2020 13:53:17
Hendrik
Hallo Matthias,
vielen Lieben Dank! Es geht jetzt so wie ich mir das vorgestellt habe.
Viele Grüße,
Hendrik
Anzeige

306 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige