Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Anzeige
Inhaltsverzeichnis

Werte statt Formeln einfügen per VBA

Forumthread: Werte statt Formeln einfügen per VBA

Werte statt Formeln einfügen per VBA
14.01.2025 14:50:28
Christian
Hallo,

ich habe per VBA verschiedenste Formel in meiner Mappe berechnen lassen, funktioniert auch soweit alles.

Exemplarisches Bsp. einer Formel

wsalle.Range("J2:J" & letzteZeilealle).FormulaLocal = "=H2&I2"

habe ich eine Möglichkeit zu sagen, füge in allen Bereichen in denen dieses Makro Formeln eingefügt hat mit Value2 die Werte ein, ohne dabei sämtliche Bereiche erneut auflisten zu müssen?

Danke
Christian
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Werte statt Formeln einfügen per VBA
14.01.2025 14:55:15
Kuwer
Hallo Christian,

With wsalle.Range("J2:J" & letzteZeilealle)

.Formula = "=H2&I2"
.Value = .Value
End With

Gruß, Uwe
AW: Werte statt Formeln einfügen per VBA
14.01.2025 15:16:04
GerdL
Hi

Stehen in den 41 Zellen bereits Formeln, die du durch die Werte ersetzen möchtest?
Oder woher sollen die 41 Werte kommen?

Gruß Gerd
Anzeige
jetzt hab ichs aber
14.01.2025 15:33:20
Christian
Sub WerteEinfügen()

Dim wsErgebnis As Worksheet
Dim wsAlle As Worksheet
Dim wsPunkte As Worksheet
Dim wsErsetzen As Worksheet
Dim wsHilfe As Worksheet
Dim wsRechnung As Worksheet
Dim genutzterBereich As Range
Dim wsArray As Variant
Dim i As Long
Dim ws As Worksheet

Set wsErgebnis = ThisWorkbook.Worksheets("Ergebnis")
Set wsAlle = ThisWorkbook.Worksheets("alle")
Set wsPunkte = ThisWorkbook.Worksheets("Punkte")
Set wsErsetzen = ThisWorkbook.Worksheets("Ersetzen")
Set wsHilfe = ThisWorkbook.Worksheets("Hilfe")
Set wsRechnung = ThisWorkbook.Worksheets("Rechnung")

wsArray = Array(wsErgebnis, wsalle, wsPunkte, wsErsetzen, wsHilfe, wsRechnung)
For i = LBound(wsArray) To UBound(wsArray)
Set ws = wsArray(i)
Set genutzterBereich = ws.UsedRange

genutzterBereich.Value2 = genutzterBereich.Value2
Next i
End Sub
Anzeige
AW: Werte statt Formeln einfügen per VBA
14.01.2025 15:21:31
Christian
Hallo Uwe, ich rede von dem Zustand nach dem die Formeln auf dem Weg wie ich exemplarisch genannt habe eingefügt wurden.
Aber ich habe glaube ich eine Lösung gefunden, bin sie gerade am testen

Sub WerteEinfügen()

Dim wsErgebnis As Worksheet
Dim wsAlle As Worksheet
Dim wsPunkte As Worksheet
Dim wsErsetzen As Worksheet
Dim wsHilfe As Worksheet
Dim wsRechnung As Worksheet
Dim genutzterBereich As Range

Set wsErgebnis = ThisWorkbook.Worksheets("Ergebnis")
Set wsAlle = ThisWorkbook.Worksheets("alle")
Set wsPunkte = ThisWorkbook.Worksheets("Punkte")
Set wsErsetzen = ThisWorkbook.Worksheets("Ersetzen")
Set wsHilfe = ThisWorkbook.Worksheets("Hilfe")
Set wsRechnung = ThisWorkbook.Worksheets("Rechnung")

Dim ws As Worksheet
For Each ws In Array(wsErgebnis, wsAlle, wsPunkte, wsErsetzen, wsHilfe, wsRechnung)
Set genutzterBereich = ws.UsedRange

genutzterBereich.Value2 = genutzterBereich.Value2
Next ws

End Sub


Ich weiß ich könnte auch direkt die Namen der Blätter ins Array schreiben, aber die Variablen und die Zuweisungen für die Blätter existieren sowieso schon alle durch das Einfügen der Formeln
Anzeige
AW: Werte statt Formeln einfügen per VBA
14.01.2025 15:02:00
Christian
Hallo Uwe,

ja wenn ich für jede der 41 Formeln sowas da drumbaue, kann ich auch 41 mal wsalle.Range("J2:J" & letzteZeilealle).Value2 = wsalle.Range("J2:J" & letzteZeilealle).Value2 analog den anderen Formeln sagen. Ich suche ja einen Weg, den ich nicht 41 mal für jeden einzelnen Bereich gehen muss.
Ich dachte eher an eine Lösung a la füge in allen genutzten Bereichen der genannten Blätter Formeln statt Werte ein.

Danke schonmal
Christian
Anzeige
meinte natürlich Werte statt Formeln owT
14.01.2025 15:03:13
Christian

Forumthreads zu verwandten Themen

Anzeige
Anzeige