Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1212to1216
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
Einfügen von mehreren Blätter mit VBA
mehreren
Hallo,
ich muss jeden Monat folgendes machen:
- auf dem Pfad K:\30_NwS_Product_Management_FC\10 Financial reporting\10 NWS Monthly reporting\2011\P04 11\Reports\Key Financials (wobei P04 11 in Mai zu P05 11 wird, usw.)
muss ich 10 Dateien aufmachen, und davon jeweils nur sheet("PL").range("A1:AM70) rauskopieren und in die Datei "Key financials P4 11" zusammenfassen (wobei P04 11 in Mai zu P05 11 wird, usw), wo bereits die "PL" Laschen mit zugehörigen Buchstaben existiert. z.B. PL A, PL B, PL C, ....
- diese 10 Dateien heißen: "Key financials P4 11_A", "Key financials P4 11_B",etc... wobei P04 11 wird immer pro Monat ausgetauscht.
Ich möchte gerne dass ich als Vorlage die Datei vom Vormonat nehme, es unter neuen Pfad abspeichere und dann ein Makro laufen lasse, wo eben aus den aktuellen Monats-Dateien die lasche "PL" Bereich A1:AM70 rauskopiert und in die jeweilige lasche einfügt.
Ich kann basics wie Datei (mit festdefinierten Pfad) copy and paste programieren, aber ich weiß nicht wie ich mit dem wechselnden Perioden (sowohl im Pfad als auch in der Dateiname) umgehen soll und zweitens könnte man diese 10 Dateien bestimmt mit array lösen, aber ich weiß nicht genau wie.
Array-Lösung wäre besser, weil es kann sein, dass es im Laufe der Zeit noch mehr Dateien dazukommen.
Ich hoffe, ich habe mich verständlich ausgedrückt, und dass mir jemand eine VBA-Lösung dazu kurz programmieren könnte. Vielen herzlichen Dank im voraus schon.
Gruß, Meli

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Einfügen von mehreren Blätter mit VBA
24.05.2011 16:53:23
mehreren
Das gleiche Makro bräuchte ich für Powerpoint-Folien, das die gleiche Funktion haben sollte. Kann ich dann dieses Makro 1:1 ins Powerpoint VBA übernehmen (mit natürlich Änderung der Dateinamen), oder muss ich da etwas spezielles beachten?
Gruß, Meli
Daten aus Blättern kopieren-PowerPoint-Verknüpfung
25.05.2011 01:43:30
fcs
Hallo Meli,
...., und dass mir jemand eine VBA-Lösung dazu kurz programmieren könnte.
Auch wenn es für einen erfahrenen VBA-Programmierer im wesentlichen eine Fleißaufgabe ist, deine Wunschliste umzusetzen. Mit "kurz mal programmieren" ist das nicht gemacht, wenn man alle Randbedingungen berücksichtigt.
Hier eine Excel-Datei mit der der Ablauf gesteuert wird. Das Makro holt sich automatisch die Datei des Vormonats, wenn es sie im Verzeichnis findet.
Da es übersichtlicher und pflegeleichter ist werden alle Vorgaben und Eingaben im Tabellenblatt gemacht.
https://www.herber.de/bbs/user/74998.xls
In PowerPoint kannst du das Excel-Makro nicht einfach so verwenden, da dort die Eingabe-Möglichkeiten anders sind und "nur" die Verknüpfungen an den neuen Monat angepasst werden müssen. Das Makro kannst du starten, wenn die Datei für den neuen Monat mit den Verknüpfungen des Vormonats geöffnet ist.
Gruß
Franz
PowerPoint-Makro:
'Allgemeines Modul in MS Powerpoint
Sub VerknuepfungenAendernMeli_2()
Dim Praes As Presentation, Blatt As Slide, Bild As Shape
Dim sMonat As String, sJahr As String
Dim sSourceOld As String, sSourceNeu As String
Dim sPart_1_old As String, sPart_1_neu As String
Dim sPart_2_old As String, sPart_2_neu As String
Const sMsgTitel As String = "Vernüpfungen Aktualisieren"
'Eingabe von Monat und Jahr, auf das Aktualisert werden soll
sMonat = InputBox("Nummer des Monats auf den die Verknüpfungen aktualisiert werden sollen",  _
_
sMsgTitel, IIf(Month(Date) = 1, 12, Month(Date) - 1))
If sMonat = "" Then GoTo Beenden
sJahr = InputBox("Jahr des Monats auf das die Verknüpfungen aktualisiert werden sollen", _
sMsgTitel, IIf(sMonat = "1", Year(Date) - 1, Year(Date)))
If sJahr = "" Then GoTo Beenden
'Berechnen der neuen Teilstrings
sPart_1_neu = "\" & sJahr & "\P" & Format(Val(sMonat), "00") & " " & Right(sJahr, 2) & "\"
sPart_2_neu = "Key financials P" & Format(Val(sMonat), "00") & " " & Right(sJahr, 2)
'Berechnen der zu ersetzenden Teilstrings in der Präsentation des Vormonats.
sPart_1_old = "\" & IIf(sMonat = "1", Format(Val(sJahr) - 1, "0000"), sJahr) _
& "\P" & Format(IIf(sMonat = "1", 12, Val(sMonat) - 1), "00") & " " _
& Right(IIf(sMonat = "1", Format(Val(sJahr) - 1, "0000"), sJahr), 2) & "\"
sPart_2_old = "Key financials P" & Format(IIf(sMonat = "1", 12, Val(sMonat) - 1), "00") _
& " " & Right(IIf(sMonat = "1", Format(Val(sJahr) - 1, "0000"), sJahr), 2)
'Kontrollanzeige
If MsgBox("Ersetze in den Dateinamen der Verknüpfungen" & vbLf _
& """" & sPart_1_old & """ durch """ & sPart_1_neu & """" & vbLf _
& """" & sPart_2_old & """ durch """ & sPart_2_neu & """", vbOKCancel) = vbCancel Then
GoTo Beenden
End If
Set Praes = ActivePresentation
'Verknüpfungen aktualisieren
For Each Blatt In Praes.Slides
For Each Bild In Blatt.Shapes
If Bild.Type = msoLinkedOLEObject Then
sSourceOld = Bild.LinkFormat.SourceFullName
If InStr(1, sSourceOld, sPart_1_old) > 0 _
And InStr(1, sSourceOld, sPart_2_old) > 0 Then
sSourceNeu = Replace(sSourceOld, sPart_1_old, sPart_1_neu)
sSourceNeu = Replace(sSourceNeu, sPart_2_old, sPart_2_neu)
Bild.LinkFormat.SourceFullName = sSourceNeu
End If
End If
NextBild:
Next
Next
Praes.UpdateLinks 'Diese Zeile erforderlich unter PP 2007, damit Darstellung in PP _
aktualisiert wird
Beenden:
Set Praes = Nothing: Set Bild = Nothing: Set Blatt = Nothing
End Sub

Anzeige
AW: Daten aus Blättern kopieren-PowerPoint-Verknüpfung
25.05.2011 10:17:23
Meli
Hallo Franz,
wauhh!! Die Idee mit den Steuerungsblatt finde ich genial, um eben Makros für verschiedene Perioden darüber zu steuern.
VIELEN VIELEN DANK für deine tolle Arbeit!!! Ich werde es mir jetzt in Ruhe den Code anschauen, damit ich fürs nächste Mal lerne :-)
Sorry, für das Wort "kurz", aber ich dachte wirklich nicht, dass es so einen Ausmass hat, um die variablen Bedingungen zu erfüllen :-(. Ich dachte, irgendwie mit Variablen deklarieren etc. wird schon irgendwie gehen. Aber da siehst du, dass ich noch nicht soviel Ahnung von VBA habe. Ich hoffe, ich erreiche bald einen guten Niveau mit den ganzen Tipps, die ich hier in diesem Forum erhalte :-))
Gruß, Meli
Anzeige

310 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige