Jedes Tabellenblatt in eigener Excel-Datei abspeichern! | Excel VBA

Поділитися
Вставка
  • Опубліковано 10 гру 2024

КОМЕНТАРІ • 35

  • @willis5745
    @willis5745 Рік тому

    Hallo, hab den Kanal erst vor kurzem entdeckt und bin total begeistert. Hab schon länger versucht mich mit Vba zu beschäftigen, aber erst mit deinen Videos und der Art wie detailliert du es erklärst den richtigen Einstieg gefunden. Danke

    • @KaiWeissmann
      @KaiWeissmann  Рік тому

      Das freut mich sehr!
      Viel Erfolg bei deinen Projekten.

  • @mattri483
    @mattri483 3 роки тому +2

    Ich werde es mir, wie so oft ;-), nochmals anschauen um es komplett zu verstehen, vielen Dank für deine Mühe. Ich sitze im Hotel und mache VBA ;-), geile Sache. 😀

    • @KaiWeissmann
      @KaiWeissmann  3 роки тому

      Hallo Matt, vielen Dank für deinen Kommentar! Genau dafür sind die Videos auch gedacht: damit jeder die Videos im eigenen Tempo und gerne auch öfter angucken kann. LG Kai :)

  • @marciadesouzapereira6587
    @marciadesouzapereira6587 2 роки тому +1

    Danke!

  • @ulrikehafner8430
    @ulrikehafner8430 2 роки тому

    Klasse, vielen Dank - das nimmt mir viel Arbeit ab.

  • @Ju-Ko-Ma
    @Ju-Ko-Ma 3 роки тому +2

    Hallo Kai, wie immer ein informatives Video. Gut und knapp erklärt. Es macht Spaß und neugierig, deine Videos anzuschauen. Auch mit meinen fast 70 Lenzen, komme ich sehr gut mit und habe meine VBA Kenntnisse (vor einem halben Jahr habe ich damit begonnen, VBA zu lernen) schon sehr vertiefen können. Ich konnte schon einiges aus deinen Videos mit eigenen Ideen vermischen und diese in meine Projekte einbauen. Natürlich habe ich deinen Kanal schon abonniert! :-)

    • @KaiWeissmann
      @KaiWeissmann  3 роки тому

      Hallo Jürgen, vielen Dank für dein nettes Feedback. Es freut mich besonders, dass du schon einiges einbauen konntest. Welche Projekte gehst du denn derzeit mit VBA an? LG Kai :)

    • @Ju-Ko-Ma
      @Ju-Ko-Ma 3 роки тому +1

      @@KaiWeissmann Hallo Kai, momentan ein Arbeitszeitprogramm für eine Behörde mit 70 MA. Das muss arbeitsrechtlich Hand und Fuß haben. (Beispiel, Krank, Kindkrank, Krank ohne Krankmeldung, Fortbildung unter oder über 10 Std. und und und) Ein Haushaltsbuch, das aber mit einem normalen Eingang/Ausgang nichts mehr am Hut hat. Dann eine Schlüssel und Postkastenverwaltung für eine größere Firma. Da prüfen wir gerade ob mit Excel oder Access oder beides. Da jetzt die Motorradsaison zu Ende geht, habe ich wieder mehr Zeit zum programmieren.

    • @KaiWeissmann
      @KaiWeissmann  3 роки тому

      Hallo Jürgen, das klingt alles sehr interessant! Ein Arbeitszeitprogramm habe ich auch im Kopf und sobald ich Zeit finde, mache ich dazu auch ein Video.
      Ich wünsche dir viel Erfolg bei den ganzen Projekten!
      LG Kai

    • @Ju-Ko-Ma
      @Ju-Ko-Ma 3 роки тому +1

      @@KaiWeissmann Vielen Dank. Das wünsche ich Dir mit den neuen Ideen ebenso.

  • @bene7921
    @bene7921 7 місяців тому

    Coole Sache, danke dafür, hat mir sehr geholfen beim Vokabeln Decks erstellen für Anki 👌

  • @shaulu
    @shaulu Рік тому

    Hallo Kai, erstmal vielen Dank, super nützliche Funktion. Ich habe mehrere Hundete Daten in einer Tabelle und mit Hilfe PiVOT, erstelle ich zuerst einzelne Tabellenblätter und dann mit dein Macro splitten. Leider nach Pivot, werden alle Arbeitsblätter automatisch "Tabelle1...." benannt. Ich muss immer händisch umbenennen damit ich erst dein Macro nutzen kann. Gibt es ein Trick, wo Pivot einzelne Tabellenname von ein bestimmte Zelle kopiert und Tabelle dementsprechend benennt? Vielen Dank

  • @suscho744
    @suscho744 Рік тому

    Hallo Kai, super erklärt! Ich hab mir selbst schon ein Makro aufgezeichnet, das aber ewig lang ist im Vergleich zu deinem 😀 Verrätst du mir bitte, wie man den Code schreiben muss, wenn die ausgeblendeten Tabellenblätter nicht gespeichert werden sollen? Also nur die eingeblendeten. Du sagtest was von "if"? Lieben Gruß

  • @Dirk.Westerhoff
    @Dirk.Westerhoff 10 місяців тому

    Hallo, wieder ein tolles Video 👍 Leider bekomme ich 1. den Fehler Laufzeit 438 und 2. …Features können in Arbeitsmappen ohne Makros usw. Wie kann ich das kopierte Arbeitsblatt mit Makros speichern?

  • @bene7921
    @bene7921 7 місяців тому

    Wie würde man denn dass Fileformat ändern, und wird da immer zwingend Excel davor stehen?

  • @johannesbraun
    @johannesbraun Рік тому +1

    Tolles Video. Alles sehr gut nachvollziehbar. Ich suche ein Makro, welches Daten in einem Tabellenblatt gemäß einer gefilterten Spalte in neue Dateien speichert. In deinem Beispiel wäre dass die Spalte mit den Ländernamen. Also alle Daten deiner Blätter sind in einem Blatt und dann soll pro Land eine Datei erstellt werden. Geht das?

    • @KaiWeissmann
      @KaiWeissmann  Рік тому

      Siehe dazu mein Video zum Thema Autofilter: ua-cam.com/video/ZNGMemg0fb4/v-deo.html
      Ich hoffe das hilft dir weiter.

    • @johannesbraun
      @johannesbraun Рік тому

      @@KaiWeissmann Vielen Dank, Kai. Habe es so umgesetzt und gleich noch deinen Fortschrittsbalken eingebaut. 😀

  • @dferrera99
    @dferrera99 3 роки тому +1

    Hi Kai,
    Wie immer ein super Video!
    Mir ist eine Frage offen geblieben beim speichern der Dateien: wenn du schreibst - filename:= - Dann gibt wb.path den Ort an, an dem du speicherst und ws.Name den Namen unter welchem es gespeichert werden soll (so habe ich das zumindest verstanden). Welche Aufgabe kommt dem “/“ dabei zu? Trennt es Pfad und Namen?
    wäre cool wenn du zeigen kannst wie man die Datei an einem Zielordner speichern kann.
    In meiner Vorstellung sieht das dann so aus filename:= “C:/arbeitsordner/“ & “/“ & ws.name
    :)

    • @KaiWeissmann
      @KaiWeissmann  3 роки тому +1

      Hi Dario,
      vielen Dank für das nette Feedback :)
      Damit liegst du genau richtig. Windows erkennt mit dem Backslash "\", dass es sich nun um ein Unterverzeichnis handelt.
      In diesem Video zeige ich, wie du den Pfad händisch auslesen kannst. Damit kannst du den Pfad angeben und genau wie du es oben geschrieben hast mit dem Worksheet-Namen verknüpfen.
      Ich hoffe ich konnte deine Frage damit klären. Schreib mir ansonsten gerne nochmal :)
      LG
      Kai

  • @sascha7624
    @sascha7624 2 роки тому +1

    Hallo Kai,
    mal wieder ein Super Video. 👍
    Was muß ich den machen, wenn ich nur das ActiveSheet Exportiert haben möchte ?
    Habe versucht die Schleife raus zu nehmen, hat aber irgendwie nicht funktioniert.
    VG
    Sascha

    • @KaiWeissmann
      @KaiWeissmann  2 роки тому

      Hallo Sascha, freut mich, dass dir das Video gefällt.
      Dein Ansatz ist aber komplett richtig so: Schleife rausnehmen und stattdessen das ActiveSheet ansprechen.
      Schreib mir gerne, wie du es am Ende umgesetzt hast!
      LG Kai

  • @marciadesouzapereira6587
    @marciadesouzapereira6587 2 роки тому

    Hallo Kai,
    Super Video, leider muss ich ich die Tabellen in einen anderen Ordner (Archiv) speichern und dazu die Ws. Name mit dem Speicherdatum benennen. ICH habe stundenlang versucht, ohne Erfolg. Kannst du mir weiterhelfen? Danke im Voraus

  • @kleindieter
    @kleindieter Рік тому

    Hi,
    wie kann ich es bewerkstelligen, dass ich nicht alle Tabellenblätter einzeln speichere, sondern z.B. nur 2 in einer Datei?
    Danke und Gruß

  • @LindaIndustrial
    @LindaIndustrial 2 роки тому

    Hey! Das Makro funktioniert zwar, allerdings sollen nur bestimmte Tabellenblätter aus der Datei gespeichert werden. Wie kann man das am besten lösen? Zusätzlich gibt es das Problem, dass sich in der Datei im Hintergrund ein datenmodell befindet und dieses nicht „mitgenommen“ werden soll. Also ich benötige die tabellenblätter als „hardcopy“ gibt es dazu ein passendes Makro?

  • @marleneecker7139
    @marleneecker7139 2 роки тому +1

    Hallo Kai,
    ich möchte alle Tabellenblätter meiner Arbeitsmappe einzeln abspeichern, es sollen jedoch nicht die enthaltenen Formeln, sondern nur die Werte übernommen werden. Kannst du mir hier helfen?
    Danke im Voraus!
    Liebe Grüße,
    Marlene

    • @KaiWeissmann
      @KaiWeissmann  2 роки тому

      Hallo Marlene,
      dazu neues Tabellenblatt einfügen, alle Zellen auf dem Tabellenblatt kopieren und mit
      .PasteSpecial Paste:=xlPasteValues
      auf dem neuen Tabellenblatt einfügen.
      LG Kai

    • @marleneecker7139
      @marleneecker7139 2 роки тому

      @@KaiWeissmann Vielen Dank, Kai! Du hast mein Problem gelöst und mir dadurch für die Zukunft einiges an Arbeit gespart. :D

  • @jeyt436
    @jeyt436 2 роки тому

    Wozu braucht man das?...

    • @KaiWeissmann
      @KaiWeissmann  2 роки тому

      Hey J R!
      Da gibt es viele Anwendungsmöglichkeiten.
      Z.B. könnte jedes Tabellenblatt Daten eines Firmenstandorts enthalten und somit auch nur für diesen relevant sein.
      Oder Jedes Tabellenblatt beinhaltet Daten für ein Produkt oder eine Produktserie.
      Für Verkäufer/Einkäufer ist es dann leichter, eben nur auf die relevante Excel Datei zuzugreifen, als auf die komplette Übersicht.
      Hier dann Daten eintragen, bearbeiten etc. und am Monatsende zur "Gesamtauswertung" führen wir dann die einzelnen Dateien wieder zusammen.
      Lg, Kai

    • @jeyt436
      @jeyt436 2 роки тому

      @@KaiWeissmann okay, vielen dank für die Anwendungsbeispiele!

  • @TheWolke0707
    @TheWolke0707 2 роки тому

    hallo Kai, tolles Video.
    funktioniert das auch mit mehreren Tabellenblätter in eine neue Datei?
    meine Quell-Datei hat 5 Blätter. Ich kann neue Blätter innerhalb dieser Excel-Datei erstellen, in unterschiedlicher Anzahl. Mal sind es 6, können aber auch über 30 neue Blätter sein. Ist es möglich die neuen Blätter in einer neuen Datei zu speichern?
    ich habs hinbekommen, die neuen Blatt-Namen in 2 intell. Tabellen zu schreiben. Kann ich das nutzen? die Tabellen-Namen stehen zB in A6:A20 und C6:C20. Tabelle soll als xlsx gespeichert werden. Anschließend möchte ich aus diesen 2 intellig.Tabellen 2 PDF erstellen.
    Freue mich über jeden Tipp.

  • @valmirloshi6640
    @valmirloshi6640 2 роки тому

    Hallo Kai,
    cooles Video und sehr gut und einfach erklärt.
    Vielleicht kannst du mir ja bei einem meiner Codes kurz helfen.
    Ich splitte auch meine Arbeitsblätter in einzelne Dateien und speichere sie dann mit heutigen Datum und Namen ab.
    Folgendes würde ich aber noch gerne einbauen:
    Die ersten 4 Arbeitsblätter brauche ich nicht zu splitten und abzuspeichern
    Ich würde die einzelnen Arbeitsblätter als Werte abspeichern wollen, außer Spalte T, da soll die Formel drinnen bleiben (hier habe ich es mal geschafft, jedoch hat er in der Makro-Datei dann auch alles mit Werten überschrieben, was nicht sein darf)
    Wenn Zelle A4 leer ist, dann soll er dieses Arbeitsblatt ebenfalls nicht abspeichern
    Würde mich über eine Rückmeldung freuen!
    Sub SplitWorkbook()
    'Updateby20200806
    Dim FileExtStr As String
    Dim FileFormatNum As Long
    Dim xWs As Worksheet
    Dim xWb As Workbook
    Dim xNWb As Workbook
    Dim FolderName As String
    Application.ScreenUpdating = False
    Set xWb = Application.ThisWorkbook

    DateString = Format(Now, "yyyy-mm-dd hh-mm-ss")
    DateString2 = Format(Now, "yyyy-mm-dd")
    'FolderName = xWb.Path & "\" & xWb.Name & " " & DateString
    FolderName = xWb.Path & "\" & "Loadfiles"

    If Val(Application.Version) < 12 Then
    FileExtStr = ".xls": FileFormatNum = -4143
    Else
    Select Case xWb.FileFormat
    Case 51:
    FileExtStr = ".xlsx": FileFormatNum = 51
    Case 52:
    If Application.ActiveWorkbook.HasVBProject Then
    FileExtStr = ".xlsm": FileFormatNum = 52
    Else
    FileExtStr = ".xlsx": FileFormatNum = 51
    End If
    Case 56:
    FileExtStr = ".xls": FileFormatNum = 56
    Case Else:
    FileExtStr = ".xlsb": FileFormatNum = 50
    End Select
    End If

    MkDir FolderName

    For Each xWs In xWb.Worksheets
    On Error GoTo NErro
    If xWs.Visible = xlSheetVisible Then
    xWs.Select
    xWs.Copy
    Application.CutCopyMode = False
    'xFile = FolderName & "/" & xWs.Name & FileExtStr
    xFile = FolderName & "/" & "1_" & DateString2 & " " & xWs.Name & FileExtStr
    Set xNWb = Application.Workbooks.Item(Application.Workbooks.Count)
    xNWb.SaveAs xFile, FileFormat:=FileFormatNum
    xNWb.Close False, xFile
    End If
    NErro:
    xWb.Activate
    Next

    MsgBox "You can find the files in " & FolderName
    Application.ScreenUpdating = True
    End Sub