Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1276to1280
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

Tabellenblatt kopieren

Tabellenblatt kopieren
thomas
Moin Gemeinde,
ich habe im Archiv ein absolut passendes makro gefunden.
das neue tabellenblatt " Übergabe"sollte jedoch im CSV Format gespeichert werden.
kann da bitte jemand mal draufschauen und einen tip geben
vielen Dank.
Private Sub CommandButton6_Click()
Dim wks As Worksheet
Dim nme As Name
Dim iNme As Integer
Dim sNme As String
For Each nme In ThisWorkbook.Names
sNme = Right(nme.Name, 3)
If Len(sNme) = 3 And IsNumeric(sNme) Then
If CInt(sNme) > iNme Then
iNme = CInt(sNme)
End If
End If
Next nme
With ThisWorkbook
.Worksheets("Übergabe").Copy after:=.Worksheets(.Worksheets.Count)
End With
ActiveSheet.Name = "A" & Format(iNme + 1, "000")
Set nme = ActiveWorkbook.Names.Add( _
Name:="WKS" & Format(iNme + 1, "000"), _
RefersTo:=Range("A1"), _
Visible:=False)
End Sub

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Tabellenblatt kopieren
29.08.2012 12:22:55
JoWE
Hallo Thomas,
das neue Tabellenblatt läßt sich nur dann als CSV speichern, wenn Du es vorher aus der Arbeitsmappe in eine neue Arbeitsmappe kopierst/verschiebst. Die dann noch unbenannte "neue Arbeitsmappe" kann dann im csv-Format gespeichert und anschl. geschlossen werden:
Sub save_as_csv()
'Dein Code
Dim wks As Worksheet
Dim nme As Name
Dim iNme As Integer
Dim sNme As String
For Each nme In ThisWorkbook.Names
sNme = Right(nme.Name, 3)
If Len(sNme) = 3 And IsNumeric(sNme) Then
If CInt(sNme) > iNme Then
iNme = CInt(sNme)
End If
End If
Next nme
'Teil Deines Codes von mir verändert und gekürzt
ThisWorkbook.Worksheets("Übergabe").Copy
ActiveSheet.Name = "A" & Format(iNme + 1, "000")
'Neuer Code
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs Filename:= _
"C:\DDaten\Mappe2.csv", FileFormat:=xlCSV 'Pfad und Dateiname anpassen!!
ActiveWindow.Close
Application.DisplayAlerts = True
End Sub
Gruß Jochen

Anzeige
AW: Tabellenblatt kopieren
29.08.2012 12:56:29
Thomas
Hallo Jochen, vielen Dank für die Anpassung.
Ist es hinzukriegen dass das neue Tabellenblatt im csv Format in der originören Arbeitsmappe bleibt?
Gruß
Thomas

AW: Tabellenblatt kopieren
29.08.2012 13:15:58
Thomas
Hallo Jochen,
dein geändertes Makro funktioniert prima.
Im Originären Makro wurde mit bei jedem speichern ein neuer name für das tabellenblatt vergeben,
das sollte so bleiben. Kannst du das bitte wieder ändernß
danke

AW: Tabellenblatt kopieren
29.08.2012 16:27:51
JoWE
...und nochmal, csv-Format in einer Excel-Arbeitsmappe geht nicht.
Dieses geänderte Makor gibt dem neuen Tabellenblatt einen Namen,
das neue Tabellenblatt wird in eine neue Arbeitsmappe kopiert, welche schließlich im csv-Format gespeichert und geschlossen wird. Das neu Tabellenblatt verbelibt in der Arbeitsmappe vorhanden, kann aber entfernt werden. Das hätte dann aber wieder Auswirkungen auf den Namen des nächsten neuen Tabellenblattes.
Sub save_as_csv()
'Dein Code
Dim wks As Worksheet
Dim nme As Name
Dim iNme As Integer
Dim sNme As String
For Each nme In ThisWorkbook.Names
sNme = Right(nme.Name, 3)
If Len(sNme) = 3 And IsNumeric(sNme) Then
If CInt(sNme) > iNme Then
iNme = CInt(sNme)
End If
End If
Next nme
ThisWorkbook.Worksheets("Übergabe").Copy after:=.Worksheets(.Worksheets.Count)
ActiveSheet.Name = "A" & Format(iNme + 1, "000")
'Teil Deines Codes von mir verändert und gekürzt
ThisWorkbook.Worksheets("A" & Format(iNme + 1, "000")).Copy
'Neuer Code
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs Filename:= _
"C:\DDaten\Mappe2.csv", FileFormat:=xlCSV 'Pfad und Dateiname anpassen!!
ActiveWindow.Close
'wenn die Tabelle, die eben als csv-Datei gespeichert wurde in dieser Arbeitsmappe
'gelöscht werden soll, das Hochkomma vor der nächsten Zeile entfernen!
'ActiveWorkbook.Sheets("A" & Format(iNme + 1, "000")).Delete
Application.DisplayAlerts = True
End Sub
Gruß
Jochen

Anzeige
AW: Tabellenblatt kopieren
29.08.2012 17:22:48
Thomas
vielen Dank, habe den Code genau so eingesetzt.
bei der ausführung kommt eine meldung
fehler beim kompilieren
unzulässiger oder nicht ausreichend definierter verweis

AW: Tabellenblatt kopieren
29.08.2012 20:14:11
JoWE
und so?
Sub save_as_csv()
'Dein Code
Dim wks As Worksheet
Dim nme As Name
Dim iNme As Integer
Dim sNme As String
For Each nme In ThisWorkbook.Names
sNme = Right(nme.Name, 3)
If Len(sNme) = 3 And IsNumeric(sNme) Then
If CInt(sNme) > iNme Then
iNme = CInt(sNme)
End If
End If
Next nme
With ThisWorkbook
.Worksheets("Übergabe").Copy after:=.Worksheets(.Worksheets.Count)
End With
ActiveSheet.Name = "A" & Format(iNme + 1, "000")
'Teil Deines Codes von mir verändert und gekürzt
ThisWorkbook.Worksheets("A" & Format(iNme + 1, "000")).Copy
'Neuer Code
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs Filename:= _
"C:\DDaten\Mappe2.csv", FileFormat:=xlCSV 'Pfad und Dateiname anpassen!!
ActiveWindow.Close
'wenn die Tabelle, die eben als csv-Datei gespeichert wurde in dieser Arbeitsmappe
'gelöscht werden soll, das Hochkomma vor der nächsten Zeile entfernen!
'ActiveWorkbook.Sheets("A" & Format(iNme + 1, "000")).Delete
Application.DisplayAlerts = True
End Sub

Gruß
Jochen

Anzeige
AW: Tabellenblatt kopieren
30.08.2012 08:11:31
Thomas
Moin Jochen,
super ist funktioniert.
Ich möchte deine geduld nicht überstrapaazieren, aber kann man es es einstellen das die erzeugte csv.datei -hier Mappe2 - im Zielverzeichnis immer die fortlaufende Nummer bekommt?
Weil diese csv datei soll in eine schnittoptimierung eingelesen werden, und jeder schnittauftrag hat von haus aus eine eigene nummer.
vielen dank
thomas

AW: Tabellenblatt kopieren
30.08.2012 14:15:08
JoWE
versuchs mal mit dieser Änderung in der entsprechenden Codezeile.
Dann erhält die neue Datei den Namen des Tabellenblattes, also z.B. "A007"
ActiveWorkbook.SaveAs Filename:= _
"C:\Daten\A" & Format(iNme + 1, "000") & ".csv", FileFormat:=xlCSV 'Pfad und Dateiname anpassen!!
Gruß
Jochen
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige