Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
24.04.2024 17:19:09
Anzeige
Archiv - Navigation
1368to1372
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

Formeln aus Tabelle / Sub erstellen möglich?

Formeln aus Tabelle / Sub erstellen möglich?
02.07.2014 16:35:15
Thorben

Hallo alle zusammen,
ich frage mich gerade ob ich eine Tabelle in der viele viele Formeln stehen, die Formeln per Makro auslesen kann und gleich eine S.ub angelegt wird mit der im Zweifel alles wieder zurückgeschrieben werden kann.
Also quasi als ein "Formel - Backup" soll sowas erstellt werden:

Sub Formeln()
With Sheets("Berechnen")
.Range("M4").Value = "=R[-1]C*100%/R[-1]C[-2]"
.Range("N3").Value = "=SUM(RC[-3]*R[8]C[-6])/100"
.Range("N4").Value = "=R[-1]C*100%/R[-1]C[-3]"
.Range("O3").Value = "=SUM(RC[-4]*R[4]C[-7])/100"
.Range("O4").Value = "=R[-1]C*100%/R[-1]C[-4]"
.Range("P3").Value = "=RC[-3]-RC[-2]-RC[-1]"
.Range("P4").Value = "=R[-1]C*100%/R[-1]C[-5]"
.Range("Q4").Value = "=RC[-1]*100"
.Range("R3").Value = "=RC[-2]-R[3]C[-4]"
.Range("R4").Value = "=R[-1]C*100%/R[-1]C[-7]"
.Range("S4").Value = "=RC[-1]*100"
.Range("M6").Value = "=SUM(R[-3]C[-2]*R[9]C[-5])/100"
.Range("N6").Value = "=SUM(R[-3]C[-3]*R[10]C[-6])/100"
'usw
End With
End Sub
Hab in der Suche nichts passendes gefunden.
Für eine Lösung schonmal Danke
MfG
Thorben

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Formeln aus Tabelle / Sub erstellen möglich?
02.07.2014 16:53:56
Michael
Hallo Thorben,
eine s*u*b in VBA erstellen wissen vielleicht Berufenere als ich.
Aber lies doch mal grundsätzlich:
https://www.herber.de/forum/archiv/608to612/611313_Formel_per_VBA_kopieren.html
.Value enthält den Wert, .Formula bzw. Formulalocal bzw. FormulaR1C1/local die Formel
(sieh Dir in VB mal den Objektkatalog (F7) zu .Range an, da stehen alle Varianten. Mit F2 kommst Du wieder in die Code-Ansicht.
Workaround: Du kannst alle Formeln in einem Tabellenblatt parken, in A1 die Position, z.B. N4, und in B1 die Formel - VOR das = der Formel setzt Du ein ' oder Leerzeichen oder so, um die Formel als TEXT zu parken und nicht als Formel, sonst kannst Du Probleme mit Bezügen "nach oben oder links" bekommen.
Beim Zurückschreiben wirfst Du das Leerzeichen wieder raus.
Schöne Grüße,
Michael

Anzeige
AW: Formeln aus Tabelle / Sub erstellen möglich?
02.07.2014 17:09:56
ransi
Hallo
Was verstehst du unter viele viele Formeln ?
10 ? 100 ? 100000 ? 1000000 ? oder noch mehr ?
ransi

AW: Formeln aus Tabelle / Sub erstellen möglich?
02.07.2014 17:02:30
UweD
Hallo
so??
Nur Zellen mit Formeln werden in eine Andere Tabelle copiert
Kann von da dann auch wieder zurück
Sub Formelcopy()
Dim Z, TB1, TB2, TBL
Set TB1 = ActiveSheet
TBL = InputBox("Zieltabelle", "Formelcopy", "Tabelle3")
Set TB2 = Sheets(TBL)
For Each Z In TB1.Cells.SpecialCells(xlCellTypeFormulas, 23)
Z.Copy TB2.Range(Z.Address)
Next
End Sub
Gruß UweD

@ all, das klappt sehr gut!
03.07.2014 08:11:24
Thorben
Hallo Michael,
Hallo Ransi,
Hallo Uwe,
@Michael , danke für den Tip
@Ranis , kann 10 könnte auch 100 !
@Uwe - besten Dank, das ist auf jeden Fall besser als mein Ansatz as follow:
Function xxx(ByVal xyz As Range) As Variant
xxx = xyz.Formula
End Function
Dann habe ich im Zielblatt in A1 =xxx(Tabelle!A1) und entsprechend nach rechts und runter kopiert
So werden die ja gleich im englischen Format angezeigt und ich dachte daraus kann ich dann die Sub befüllen!? Aber warum kompliziert wenn es auch einfach geht :o)
Schönen und erfolgreichen Tag und beste Grüße
Thorben

Anzeige
@ all, das klappt sehr gut!
03.07.2014 08:11:52
Thorben
Hallo Michael,
Hallo Ransi,
Hallo Uwe,
@Michael , danke für den Tip
@Ranis , kann 10 könnte auch 100 !
@Uwe - besten Dank, das ist auf jeden Fall besser als mein Ansatz as follow:
Function xxx(ByVal xyz As Range) As Variant
xxx = xyz.Formula
End Function
Dann habe ich im Zielblatt in A1 =xxx(Tabelle!A1) und entsprechend nach rechts und runter kopiert
So werden die ja gleich im englischen Format angezeigt und ich dachte daraus kann ich dann die Sub befüllen!? Aber warum kompliziert wenn es auch einfach geht :o)
Schönen und erfolgreichen Tag und beste Grüße
Thorben

Anzeige

308 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige