1k Aufrufe
Gefragt in Tabellenkalkulation von
Hallo,

ich benötige eure Hilfe. In der Spalte ab B7 können Werte vorhanden sein. Zwischen den Zellen in der Spalte B befinden sich keine Leerezellen. z. B.

B7
B8
B9
usw.


Nun soll ein Makro in die Zelle ab C7 eine Formel z. B. D1+E1 einfügen. Dies soll jedoch nur in den Zellen geschehen, bei denen in der Spalte B ein Wert steht.

Da in der Spalte B sehr viele Zellen belegt sein können, kann ich die Formel nicht direkt in die Spalte C schreiben, da sonst die Datei sehr groß wird und entsprechend Zeit zum Berechnen benötigt.

Gruß Santani

2 Antworten

0 Punkte
Beantwortet von coros Experte (4k Punkte)
Hallo Sanatani,

das kann man z.B. mit nachfolgendem Makro realisieren. Das Makro fügt in Spalte C die Formel "= D und Zeile + E und Zeile" ein.

Kopiere das Makro in ein StandardModul und starte es z.B. über eine Befehlsschaltfläche
Teste das Makro aber bitte in einer Testdatei und nicht gleich in Deiner Originaldatei.

Option Explicit

Sub Formeln_einfuegen()
Dim lngRow As Long
On Error GoTo ERRORHANDLER
With Application
.ScreenUpdating = False
.Calculation = xlCalculationManual
End With
For lngRow = 1 To ActiveSheet.Cells(Rows.Count, 2).End(xlUp).Row
If Not IsEmpty(ActiveSheet.Cells(lngRow, 2)) Then
ActiveSheet.Cells(lngRow, 3).FormulaLocal = "=D" & lngRow & "+E" & lngRow
End If
Next
ERRORHANDLER:
With Application
.ScreenUpdating = True
.Calculation = xlCalculationAutomatic
End With
End Sub
Solltest Du nicht wissen, wie Du den Code in Deine Datei bekommst, dann schau mal auf meiner HP in der Rubrik Anleitungen und dort dann in der Anleitungsnummer 3 nach. Dort stelle ich dazu eine bebilderte Anleitung zur Verfügung, die Dir sicherlich helfen wird.

Bei Fragen melde Dich.

MfG,
Oliver
[sub]Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du[/sub]
[sup] ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.[/sup]
0 Punkte
Beantwortet von
Danke Coros, funktioniert

Santani
...