Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1440to1444
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 nach Kopieren der Zellen per VBA anpassen

Formel nach Kopieren der Zellen per VBA anpassen
07.08.2015 12:39:29
Mike
Hallo Zusammen,
ich habe eine Datei mit 3 Tabellen.
Tabelle Quelle fungiert quasi als 'Datenbank' und hat Formeln in den Spalten A:D.
Nun wird Block A:B in Tabelle A kopiert und Block C:D in Tabelle B.
Danach müssen die Formeln angepasst werden, da die Bezüge nicht mehr stimmen.
Ich habe eine Beispieltabelle angehangen.
Bisher erledige ich das per VBA (siehe Codebeispiel aus meinem Projekt). Hat den Nachteil, daß bei Formeländerungen der VBA-Code angepasst werden müßte.
Vielleicht hat jemand eine Idee.
[CODE

Private Sub SetFormeln_wsUploadSW(lStartzeile As Long, lEndzeile As Long)
' Bereich im Quellblatt 'DB' = [W:Z]
' W3 -> A3 "=B3"
' X3 -> B3 "=C3"
' Y3 -> C3 "=E3"
' Z3 -> D3 "=F3"
With wsUploadSW
' Spalte A
.Range("A" & lStartzeile).Formula = "=Angebot!B" & lStartzeile
.Range("A" & lStartzeile & ":A" & lEndzeile).FillDown
' Spalte B
.Range("B" & lStartzeile).Formula = "=Angebot!C" & lStartzeile
.Range("B" & lStartzeile & ":B" & lEndzeile).FillDown
' Spalte C
.Range("C" & lStartzeile).Formula = "=Angebot!E" & lStartzeile
.Range("C" & lStartzeile & ":C" & lEndzeile).FillDown
' Spalte D
.Range("D" & lStartzeile).Formula = "=Angebot!F" & lStartzeile
.Range("D" & lStartzeile & ":D" & lEndzeile).FillDown
End With
End Sub

[/CODE]
https://www.herber.de/bbs/user/99390.xlsx
Vielen Dank und Grüsse, Mike

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Formel nach Kopieren der Zellen per VBA anpassen
07.08.2015 15:38:26
Herbert
Hallo,
kannst Du mal eine Beispielmappe hochladen, die exakt Deinem Original entspricht, was Tab-Namen und Zellbereiche entspricht? Dann könnte ich Dir evtl. auch helfen.
Servus

AW: Formel nach Kopieren der Zellen per VBA anpassen
07.08.2015 17:01:43
Mike
Hallo Herbert,
gerne... Die Tabelle DB ist das Quellblatt, wie im Code ersichtlich.
https://www.herber.de/bbs/user/99409.xlsm
Der Kopiervorgang wird über das Kontextmenü [Komponentenauswahl] gestartet.
VG, Mike

AW: Formel nach Kopieren der Zellen per VBA anpassen
07.08.2015 18:11:51
Herbert
Hallo Mike,
und welche der jetzt vorhandenen Tab entspricht den "A" + "B" aus der vorh. Mappe?
Servus
P.S.:Leider komme ich erst morgen früh wieder dazu mich damit zu beschäftigen. Ich hoffe das langt! ;o)=)

Anzeige
AW: Formel nach Kopieren der Zellen per VBA anpassen
10.08.2015 09:09:16
Mike
Hallo Herbert,
danke für Deine Antwort.
Die Spalten A:AO der Tabelle 'DB' werden nach Auswahl eines Eintrages im Kontextmenü in die anderen Tabellen kopiert:
A:F in Tabelle 'Angebot'.
G:AB in Tabelle 'VEP-Kosten'.
AC:AF in Tabelle 'Upload SW'.
AG:AO in Tabelle 'SAP-Upload'.
Hoffe, das hilft Dir weiter.
Danke und Grüsse, Mike

AW: Formel nach Kopieren der Zellen per VBA anpassen
10.08.2015 15:47:16
Herbert
Hallo Mike,
Du machst es mir schon sehr schwer! Kannst Du mir denn nicht genau beschreiben, was Du willst?
Du schreibst: "werden nach Auswahl eines Eintrages im Kontextmenü in die anderen Tabellen kopiert:" Im KM befinden sich ja die Einträge "SM-A" und "SM-B". Warum aber jeweils 11 x ? Hier würde es doch reichen, wenn es jeweils einmal drin steht, oder nicht? Wenn nicht, dann sollten die doch jeweils anders heißen, da man im Code ja sonst kein Unterscheidungsmerkmal hat"
Und was soll passieren, wenn man "SM-A" und was, wenn man "SM-B" auswählt.
Servus

Anzeige
AW: Formel nach Kopieren der Zellen per VBA anpassen
10.08.2015 15:59:28
Mike
Hallo Herbert,
bitte um Entschuldigung, denn beim Aufbereiten der Musterdatei ist mir da ein Fehler unterlaufen.
In der angehängten Datei passt nun alles und jeder Eintrag im Kontextmenü ist eindeutig!
https://www.herber.de/bbs/user/99471.xlsm
Wählt man einen Eintrag im Kontextmenü aus, wird in Tabelle die Spalte mit dem Kontexteintrag gesucht und der AutoFilter gesetzt.
Dann werden die sichtbaren Zeilen (inc.Überschrift) in die entsprechenden Tabellen kopiert und die
Formelbezüge in allen Tabellen (außer in 'DB') angepasst.
Ich hoffe, das hilft Dir weiter.
Vielen Dank nochmal und Grüsse, Mike.

Anzeige
AW: Formel nach Kopieren der Zellen per VBA anpassen
10.08.2015 16:18:20
Herbert
Hallo Mike,
Du schreibst: "Wählt man einen Eintrag im Kontextmenü aus, wird in Tabelle die Spalte mit dem Kontexteintrag gesucht und der AutoFilter gesetzt."
was meinst Du mit "wird in Tabelle die Spalte"? In "Tabelle"-was?
Servus

AW: Formel nach Kopieren der Zellen per VBA anpassen
10.08.2015 16:21:19
Mike
Hi Herbert,
damit meine ich in Tabelle 'DB' den Bereich 'AP2:BK2'.
Wird der Kontexteintrag in diesem Bereich gefunden, wird der AutoFilter in der Fundspalte gesetzt.
Grüsse, Mike

AW: Formel nach Kopieren der Zellen per VBA anpassen
10.08.2015 16:50:51
Herbert
Hallo Mike,
wenn Du mir jetzt noch beschreibst, welche Formeln wo wie angepasst werden müssen, dann kann ich Dir evtl. helfen. Falls ich mich danach nicht mehr melde, habe ich es aufgegeben, dass Du mir Dein Problem verständlich schildern kannst. Also, wenn ich mich nicht mehr melden sollte, bitte keine weiteren Nachfragen mehr!
Servus

Anzeige
AW: Formel nach Kopieren der Zellen per VBA anpassen
10.08.2015 17:10:34
Mike
Hi Herbert,
betrachte bitte die Formel '=((D3*0,9469)-Z3)/(D3*0,9469)' in Zelle 'DB!G3'.
Da bei Auswahl eines Kontextmenüeintrages die Spalten 'G:AB' der Quelltabelle 'DB' in das Blatt 'VEP-Kosten' (beginnend ab Spalte A) kopiert wird, stimmt natürlich der Zellbezug nicht mehr.
Die Formel iim Blatt 'VEP-Kosten' passe ich dann wie folgt an, da sich die Zelle D3 in der Ursprungsformel nun nicht mehr im selben Blatt befindet:
.Range("A" & lStartzeile).Formula = "=((Angebot!D" & lStartzeile & "*0.9469)-T" & lStartzeile & ")/(Angebot!D" & lStartzeile & "*0.94690)"
Danke und Grüsse, Mike

Anzeige
AW: Formel nach Kopieren der Zellen per VBA anpassen
11.08.2015 08:43:53
Herbert
Hallo Mike,
in der beigefügten Datei habe ich mal 3 Durchläufe gemacht. Schau sie Dir an und schreibe mir in die jeweils erste Zeile der eingefügten Daten, die Formel, die nach dem Kopiervorgang da stehen muss.

Die Datei https://www.herber.de/bbs/user/99477.xlsm wurde aus Datenschutzgründen gelöscht


Servus

AW: Formel nach Kopieren der Zellen per VBA anpassen
11.08.2015 09:54:21
Mike
Hallo Herbert,
die 3 Durchläufe die Du mit meinem Code gemacht hast schreibt die Formeln doch bereits in die Zellen (gelber Hintergrund).
https://www.herber.de/bbs/user/99482.xlsm
Mein 'einziges' Problem besteht jedoch darin, daß ich die Formeln nach dem Kopiervorgang durch die 4 Subs 'SetFormeln_wsAngebot', 'SetFormeln_wsKosten', 'SetFormeln_wsUploadSW' und 'SetFormeln_wsUpload' quasi hartkodiert ändere.
Ändert sich in Tabelle 'DB' eine Formel, so muß diese auch in den o.g. Subs angepasst werden.
Ich möchte die Formelanpassung aber gern dynamisch erledigen lassen.
Danke und Grüsse, Mike
Anzeige

330 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige