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
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. 😀
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 :)
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! :-)
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 :)
@@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.
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
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
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ß
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?
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?
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 :)
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
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
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
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
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?
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
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
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
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.
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
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
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
Das freut mich sehr!
Viel Erfolg bei deinen Projekten.
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. 😀
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 :)
Danke!
Vielen Dank für deinen Support!
Klasse, vielen Dank - das nimmt mir viel Arbeit ab.
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! :-)
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 :)
@@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.
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
@@KaiWeissmann Vielen Dank. Das wünsche ich Dir mit den neuen Ideen ebenso.
Coole Sache, danke dafür, hat mir sehr geholfen beim Vokabeln Decks erstellen für Anki 👌
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
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ß
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?
Wie würde man denn dass Fileformat ändern, und wird da immer zwingend Excel davor stehen?
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?
Siehe dazu mein Video zum Thema Autofilter: ua-cam.com/video/ZNGMemg0fb4/v-deo.html
Ich hoffe das hilft dir weiter.
@@KaiWeissmann Vielen Dank, Kai. Habe es so umgesetzt und gleich noch deinen Fortschrittsbalken eingebaut. 😀
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
:)
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
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
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
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
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ß
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?
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
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
@@KaiWeissmann Vielen Dank, Kai! Du hast mein Problem gelöst und mir dadurch für die Zukunft einiges an Arbeit gespart. :D
Wozu braucht man das?...
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
@@KaiWeissmann okay, vielen dank für die Anwendungsbeispiele!
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.
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