Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
528to532
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
528to532
528to532
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Makro mit Ansteuerung verschiedener Mappen

Makro mit Ansteuerung verschiedener Mappen
08.12.2004 14:07:46
Christian
Hallo,
Ich habe zwei Arbeitsmappen und zwar Mappe1.xls und Mappe2.xls. In Mappe1 befindet sich eine Berechnungsübersicht, Mappe2 führt eine umfangreiche Berechnung durch. Um mir das ganze Hin- und Hergetippe zu sparen, möchte ich einen Makro in Mappe1 schreiben. Und zwar soll er so ablaufen:
1. Nehme den Wert aus der Zelle die 2 Spalten neben der aktiven liegt.
2. Trage diesen Wert in die Tabelle2 (=Tabelle111 bzw "xxx yyy") der zweiten Mappe in Zelle E25 ein
3. Führe in der Mappe2 den Makro "Berechnung" aus
4. Nehme das Ergebnis (Mappe2 Tabelle2 Zelle E27) und übertrage es in die aktive Zelle der Mappe1...
Vielleicht kann mir bei der Formulierung in VB jemand helfen...
MfG
Christian

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Nachfrage!
08.12.2004 14:23:44
Josef
Hallo Christian!
Wenn die Berechnung in Mappe2 durch ein Makro erfolgt, warum dann
der Umweg über eine zweite Mappe?
Dann kannst du doch die Berechnung gleich in Mappe1 eledigen!
Gruß Sepp
AW: Nachfrage!
08.12.2004 14:26:39
Christian
Weil sich der Makro immer wieder Zwischenwerte aus der Mappe holt um auf das korrekte Ergebnis zu kommen.
Es geht um eine Iteration einer Differentialrechnung mit ner Menge Parameter und Hilfsfunktionen die ich eben teilweise in der Tabelle habe und diese mit dem Makro zu einem Ergebnis zusammensetze...
AW: Nachfrage!
08.12.2004 14:38:02
Josef
Hallo Christian!
Dieser Code in ein allgemeines Modul in "Mappe1.xls" sollte es tun!

Sub hin_und_her()
'der Code gehört in "Mappe1.xls" (allgemeines Modul)
Dim wks1 As Worksheet
Dim wks2 As Worksheet
Set wks1 = ThisWorkbook.Sheets(1)
Set wks2 = Workbooks("Mappe2.xls").Sheets(1)
wks2.[E25] = ActiveCell.Offset(0, 2)
wks2.Calculate
'und/oder zum starten des Makros in "Mappe2"
Run (wks2.Parent.Name & "!meinMakro")
ActiveCell = wks2.[E27]
End Sub

Die Namen der Arbeitsmappen und des Makros musst du anpassen!
Gruß Sepp
Anzeige
AW: Nachfrage!
Christian
Run (wks2.Parent.Name & "!meinMakro")
Geht das auch, wenn "!meinMakro" mit dem Ereignis CommandButton2_Click() der Tabelle aufgerufen wird oder muss ich den Code der Tabelle in ein Modul kopieren?
AW: Nachfrage!
08.12.2004 14:59:26
Josef
Hallo Christian!
Geht auch!
Run (wks2.Parent.Name & "!Tabelle1.CommandButton2_Click")
Tabellennamen anpassen!
Gruß Sepp
AW: Nachfrage!
08.12.2004 15:10:05
Christian
Hallo Sepp erstmal danke... ABER 2 Probleme:
1. Ich starte den Code über eine Schaltfläche. Dadurch gibt es keine aktive Zelle mehr. Es wird also in die zweite Mappe eine leere Zelle übertragen...
wks2.[E25] = ActiveCell.Offset(0, 2)
2. Run (wks2.Parent.Name & "!meinMakro")
Erzeugt eine Fehlermeldung, dass der Makro nicht gefunden wurde....
Run (wks2.Parent.Name & "!Tabelle111.CommandButton2_Click")
Run (wks2.Parent.Name & "!Tabelle111.CommandButton2_Click()")
Anzeige
AW: Nachfrage!
08.12.2004 15:22:16
Josef
Hallo Christian!
Zu 1:
In den Eigenschaften des CommandButton "TakeFocusOnClick" auf "False" stellen!
Zu 2:

Private Sub CommandButton1_Click()
'der Code gehört in "Mappe1.xls" (allgemeines Modul)
Dim wks1 As Worksheet
Dim wks2 As Worksheet
Set wks1 = ThisWorkbook.Sheets(1)
Set wks2 = Workbooks("Mappe1").Sheets(1)
wks2.[E25] = ActiveCell.Offset(0, 2)
wks2.Calculate
'und/oder zum starten des Makros in "Mappe2"
Run (wks2.Parent.Name & "!Tabelle111.CommandButton2_Click")
ActiveCell = wks2.[E27]
End Sub

Läuft bei mir ohne Probleme, du hast vieleicht irgendwo einen Schreibfehler!
Gruß Sepp
Anzeige
AW: Nachfrage!
08.12.2004 15:25:32
Josef
Hallo,
nochwas!
"Tabelle111" ist nicht der Namen des tabellenblattes auf dem Register!
Es ist der CodeName den du in den Eigenschaften der Tabelle im VBE siehst!
Gruß Sepp

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige