Thema Datum  Von Nutzer Rating
Antwort
13.07.2022 16:13:30 Janine
Solved
13.07.2022 19:48:19 ralf_b
NotSolved
Rot Definiertes Tabellenblatt als neue Arbeitsmappe speichern
13.07.2022 20:22:52 xlKing
NotSolved
13.07.2022 20:24:25 xlKing
NotSolved
14.07.2022 08:26:56 Janine
NotSolved
14.07.2022 11:58:53 xlKing
NotSolved
14.07.2022 16:28:21 Janine
NotSolved
14.07.2022 16:28:22 Janine
NotSolved
14.07.2022 17:11:56 Gast1901
Solved
18.07.2022 16:15:12 Janine
Solved
18.07.2022 16:41:42 Janine
Solved
14.07.2022 11:49:04 Gast99286
Solved

Ansicht des Beitrags:
Von:
xlKing
Datum:
13.07.2022 20:22:52
Views:
411
Rating: Antwort:
  Ja
Thema:
Definiertes Tabellenblatt als neue Arbeitsmappe speichern

Hallo Janine,

du hast doch schon alles, was du dazu benötigst in deinem Code stehen. Du musst diesen halt nur noch verstehen. Ein paar Englisch-Kenntnisse vorausgesetzt ist er eigentlich selbsterklärend. Wenn du ein VBA-Buch besitzt hast du dich zumindest schon mal mit dem Thema beschäftigt. Also solltest du bereits wissen, was Variablen sind und wie Schleifen aufgebaut werden.

Zu deiner ersten Frage: Ja, wenn du den Pfad nur einmal im Jahr änderst, macht es durchaus Sinn diesen konstant zu hinterlegen. Falls sich dabei nur die Jahreszahl ändert kannst du diesen aber auch gern berechnen. Wie du siehst wird der Dateipfad in der Variable strPfad zurzeit zusammengesetzt aus dem Pfad der aktuellen Arbeitsmappe (welche den Code enthält) und dem Unterpfad "Tabellen". Als Dateiname wird der Name des jeweiligen Tabellenblatts verwendet. Für einen festen Dateipfad mit wechselnder Jahreszahl könnte der Befehl z.B. so lauten: strPfad = "F:\Ablage\" & Year(Date) & "\". Den If-Block kannst du so lassen. Dadurch wird der Pfad angelegt, sofern noch nicht vorhanden.

Zur zweiten Frage: Mit For Each springst du in eine Schleife die hier jedes der verfügbaren Tabellenblätter durchläuft. Da du dich nur für ein Blatt interessierst, brauchst du diesen Befehl nicht. Die Schleife wird mit Next beendet. Auch diese Zeile solltest du daher löschen. Nun musst du er Variablen wksBlatt nur noch das gewünschte Tabellenblatt zuweisen. Das macht man bei Objekten mit dem Schlüsselwort Set. Set wksBlatt = ThisWorkbook.Worksheets("Uebersicht"). Der Befehl wksBlatt.Copy lagert dieses Tabellenblatt dann in eine neue Arbeitsmappe aus. Du kannst auch direkt ThisWorkbook.Worksheets("Uebersicht").Copy verwenden. Dann sparst du dir den Umweg über die Variable.

Zur dritten Frage: Den Rest kannst du so lassen. Du musst halt nur als Dateiname nicht den des Tabellenblatts sondern deine gewünschte Information hinzufügen. strPfad & Environ("Username") & " " & Now. Alternativ kannst du auch Application.Username verwenden. Diese Info ist aber nicht unbedingt gesetzt bzw. kann vom Benutzer auch geändert werden. Insofern ist der Weg über Environ besser.

So nachdem du nun meine Erklärung gelesen hast, wirst du dir bestimmt an die Stirn klatschen und sagen: Ja klar, steht doch alles im Code. Vielleicht habe ich ja damit auch dein Interesse geweckt dich näher mit VBA zu beschäftigen? Ich kann dir versprechen, dass es richtig viel Spaß macht, wenn man diesen oder jenen Befehl endlich begriffen hat. Und in nicht allzuferner Zukunft bist du dann auch in der Lage eigene Projekte umzusetzen. wink

Liebe Grüße

Mr. K.


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
13.07.2022 16:13:30 Janine
Solved
13.07.2022 19:48:19 ralf_b
NotSolved
Rot Definiertes Tabellenblatt als neue Arbeitsmappe speichern
13.07.2022 20:22:52 xlKing
NotSolved
13.07.2022 20:24:25 xlKing
NotSolved
14.07.2022 08:26:56 Janine
NotSolved
14.07.2022 11:58:53 xlKing
NotSolved
14.07.2022 16:28:21 Janine
NotSolved
14.07.2022 16:28:22 Janine
NotSolved
14.07.2022 17:11:56 Gast1901
Solved
18.07.2022 16:15:12 Janine
Solved
18.07.2022 16:41:42 Janine
Solved
14.07.2022 11:49:04 Gast99286
Solved