Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1772to1776
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
Inhaltsverzeichnis

Speichern von Dateienen

Speichern von Dateienen
26.07.2020 15:21:42
Dateienen
Hallo Gemeinde,
ich verzweifle mit dem Speichern von Arbeitsblättern eines Workbooks
Dafür habe ich eine Sub die drei Parameter übergeben bekommt und zwar den Pfad, den Dateinamen und das Arbeitsblatt das gespeichert werden soll.
Der Code Aufruf der Sub sieht so aus (ich arbeite nur mit Option Explizit, die Variablen sind alle deklariert):
strDateiName = Month(Me.txbDatum) & "_" & Day(Me.txbDatum) & "_" & Year(Me.txbDatum) & "_" & Left(Me.txbTitel, 10) & "Deckblatt"
strArbeitsblatt = "Vorlage Deckblatt"
strPfad = ThisWorkbook.Path & "\" & "Deckblaetter" & "\"
Call TabelleAlsDateiSpeichern(ByVal strDateiName, ByVal strArbeitsblatt, ByVal strPfad)
~f~
Die sub sieht dann so aus:
~f~
<pre>Public Sub TabelleAlsDateiSpeichern(strFileName As String, strSheetName As String, strPath As String)
'Dim strPfad As String
Dim wksBlatt As Worksheet
Dim wkbZiel As Workbook
Dim strDateiName, strBlattName, strPfad As String
strDateiName = strFileName
strBlattName = strSheetName
strPfad = strPath
'strDatum = Month(datDatum) & "_" & Day(datDatum) & "_" & Year(datDatum)
'strName = ThisWorkbook.Name
Application.ScreenUpdating = False
'strPfad = ThisWorkbook.Path & "\" & strOrdner & "\"
If Dir(strPfad, vbDirectory) = "" Then
MkDir strPfad
End If
Set wksBlatt = Workbooks(strDateiName).Worksheets(strBlattName)
wksBlatt.Copy
Set wkbZiel = ActiveWorkbook
Application.DisplayAlerts = False
wkbZiel.SaveAs (strPfad & strDateiName & ".xlsx")
Application.DisplayAlerts = True
wkbZiel.Close savechanges:=False
Application.ScreenUpdating = True
End Sub</pre>
Ich bekomme immer einen Fehler "Typen unverträglich".
Mein erster Versuch war ohne das ByVal, da habe ich die Meldung bekommen ByRef ist unverträglich
Kann mir bitte jemand helfen?
Vielen Dank
Klaus

22
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Speichern von Dateienen
26.07.2020 15:26:59
Dateienen
Hallo Klaus,
zeichne das speichern mit dem Makrorecorder auf, dann hast Du den kompletten Code.
Zu Deiner Datei kann ich nichts schreiben, was wohl daran liegt das ich nicht auf fremde Rechner schaue.Ich baue keine Datei nach.
Sollte die Datei verlinkt werden?
Wenn du an Stelle einer Demomappe deine Originalmappe hochladen willst, diese aber sensible Daten enthält, kannst du diese Daten
http://www.ms-office-forum.de/forum/showthread.php?t=322895
änderrn.
Bilder lade ich mir nicht runter, da Excel damit nichts anfangen kann.
http://www.excel-ist-sexy.de/bilder-statt-datei/
Hochgeladene Bilder können zwar als solche in Excel importiert werden, sind jedoch bei der Lösung von Problemen nicht sehr hilfreich, da man die eigentlichen Daten nicht ohne große und zeitraubende Umwege direkt in die Tabelle übertragen kann.
Das ist nur meine Meinung zu dem Thema.

Anzeige
AW: Speichern von Dateienen
26.07.2020 15:44:14
Dateienen
hmmm ich habe versucht die Datei hochzuladen, aber es geht nicht, da sie größer als 300KB ist (403 KB)
Trotzdem Danke
Gruß
Klaus
AW: Speichern von Dateienen
26.07.2020 15:52:07
Dateienen
Hallo Klaus,
teste mal:
Private Sub CommandButton1_Click()
    Dim strDateiName As String
    Dim strArbeitsblatt As String
    Dim strPfad As String
    strDateiName = Month(txbDatum.Text) & "_" & Day(txbDatum.Text) & "_" & _
        Year(txbDatum.Text) & "_" & Left$(txbTitel.Text, 10) & "Deckblatt"
    strArbeitsblatt = "Vorlage Deckblatt"
    strPfad = ThisWorkbook.Path & "\" & "Deckblaetter" & "\"
    Call TabelleAlsDateiSpeichern(strDateiName, strArbeitsblatt, strPfad)
End Sub

Option Explicit

Public Sub TabelleAlsDateiSpeichern(strFileName As String, strSheetName As String, strPath As String)
    
    'Dim strPfad As String
    Dim wksBlatt As Worksheet
    Dim wkbZiel As Workbook
    
    'strDatum = Month(datDatum) & "_" & Day(datDatum) & "_" & Year(datDatum)
    'strName = ThisWorkbook.Name
    
    Application.ScreenUpdating = False
    
    'strPfad = ThisWorkbook.Path & "\" & strOrdner & "\"
    If Dir(strPath, vbDirectory) = "" Then
        MkDir strPath
    End If
    
    Set wksBlatt = ThisWorkbook.Worksheets(strSheetName)
    wksBlatt.Copy
    Set wkbZiel = ActiveWorkbook
    Application.DisplayAlerts = False
    wkbZiel.SaveAs strPath & strFileName & ".xlsx", xlOpenXMLWorkbook
    Application.DisplayAlerts = True
    wkbZiel.Close savechanges:=False
    
    Set wksBlatt = Nothing
    Set wkbZiel = Nothing
    
    Application.ScreenUpdating = True
    
End Sub

Gruß
Nepumuk
Anzeige
AW: Speichern von Dateienen
26.07.2020 17:15:46
Dateienen
Hallo,
mit welchem Tool stellst Du den VBA-Code für das Forum dar?
Gruß
Jochen
AW: Speichern von Dateienen
26.07.2020 17:38:52
Dateienen
Hallo Jochen,
ein selbstgeschriebenes mit einer DLL von Peter Haserodt.
Gruß
Nepumuk
AW: Speichern von Dateienen
26.07.2020 17:52:09
Dateienen
Danke für die schnelle Antwort.
Kannst/willst Du es weitergeben?
Gruß
Jochen
AW: Speichern von Dateienen
26.07.2020 18:31:49
Dateienen
na dann mach ich das doch :)
AW: Speichern von Dateienen
26.07.2020 22:47:13
Dateienen
Hi mein Lieber,
schön zu sehen, dass es dich doch noch gibt!
Melde dich doch mal und das meine ich ernst.
Übrigens, meine Tel findest du auf meiner HP:-) und ich würde mich wahnsinnig freuen.
PS. Kannst dein Add-IN mit meiner DLL gerne weitergeben in Zukunft. Aber ohne Gewähr :-) Vielleicht veröffentliche ich auch mal den Quellcode.
Anzeige
AW: Speichern von Dateienen
27.07.2020 12:07:47
Dateienen
Hallo Jochen,
schreib mir eine Mail an:
Ich kann es aber erst am Samstag schicken.
Gruß
Nepumuk
AW: Speichern von Dateienen
31.07.2020 10:31:30
Dateienen
Hallo Nepumuk,
habe Dir eine weitere Mail an kaff1.max gesandt.
Habe da noch eine Frage.
Gruß
Jochen
AW: Speichern von Dateienen
01.08.2020 10:10:17
Dateienen
Hallo Jochen,
das Addin läuft nicht unter Excel 64Bit.
Gruß
Nepumuk
AW: Speichern von Dateienen
01.08.2020 10:23:14
Dateienen
Danke,
hab' noch ein Notebook mit Office 2016 32 Bit, werd' ich also dort mal probieren.
Wünsche ein schönes WE
Jochen
AW: Speichern von Dateienen
27.07.2020 12:12:43
Dateienen
Hallo Nepumuk,
gesehen? Du darfst :-)
Sofern Du also magst: jochen.wewior Alt+64 t-online.de
LG
Jochen
AW: Speichern von Dateienen
26.07.2020 18:36:38
Dateienen
Danke Nepumuk.
Meine Frage ist bereits unterwegs
Lieben Dank schon mal vorab an Dich.
Gruß
Jochen
AW: Speichern von Dateienen
26.07.2020 19:34:13
Dateienen
ups, Hajo danke für Deine Info.
AW: Speichern von Dateienen
30.07.2020 15:09:36
Dateienen
Hey allerseits,
ich würde ganz gerne das Makro bei mir probieren / verwenden.
kann mir vielleicht jemand sagen wo die Makros gespeichert werden sollen, damit es funktioniert?
Müssen die Makros in der gleichen Tabelle, die gespeichert werden soll kopiert werden?
vielen Dank im Voraus.
Liebe Grüße,
Lilli
AW: Speichern von Dateienen
30.07.2020 15:16:55
Dateienen
Hallo Allerseits,
Was ist genau
CommandButton1_Click
?
wie kann ich das ändern, dass ich das Makro aufrufen kann?
vielen Dank noch mal im Voraus.
Liebe Grüße,
Lilli
Anzeige
AW: Speichern von Dateienen
31.07.2020 10:50:51
Dateienen
Hallo Nepumuk,
vielen Dank für den Link.
Ich habe was in grün ist in den Code
'strDatum = Year(datDatum) & "-" & Month(datDatum) & "-" & Day(datDatum) & " _ "
'strName = ThisWorkbook.Name
dieses Zeichen rausgenommen '
damit es aktiv ist.
allerdings kommt ein Fehler, dass datDarum irgendwie nicht erkennt oder nicht definiert ist.
Hättest Du vielleicht Zeit und Lust bei den Makro zu helfen, dass ich ein Tabelle auswählen kann und dass das Datum vorne von der Dateiname steht. Jahr-Monat-Tag -
Dateiname soll aus eine Zelle sein, Beispiel: Name der Zelle: datei.bezeichnung
Vielen Dank für die Mühe im Voraus.
Liebe Grüße,
Lilli :)
Anzeige
AW: Speichern von Dateienen
31.07.2020 16:10:56
Dateienen
Hallo Lilli,
so?
Public Sub Test()
    Call ActiveWorkbook.SaveAs(Filename:=ThisWorkbook.Path & _
        Format$(Date, "yyyymmdd") & Range("datei.bezeichnung").Text, _
        FileFormat:=xlOpenXMLWorkbook)
End Sub

Gruß
Nepumuk
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige