Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
824to828
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
824to828
824to828
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Werte+Formate in neue Tabelle kopieren

Werte+Formate in neue Tabelle kopieren
30.11.2006 11:02:53
Steve
Hallo!
Ich habe eine Tabelle wo Werte ausgelesen werden und falls es keine gibt, bleibt das Feld leer.
=WENN(yyy!E3="";"";yyy!E3*1000)
Danach kopiere ich das Register in eine neue Exceldatei und exportiere sie.
ThisWorkbook.Sheets("xxx").Copy
ActiveWorkbook.Sheets(1).SaveAs Filename:= _
ThisWorkbook.Path & "\name.dat", FileFormat:= _
xlTextPrinter, CreateBackup:=False
Problem ist aber jetzt, daß die Zeilen wo keine Werte drin stehen mit exportiert werden und somit Leerzeilen in der Datei drin sind. Das darf aber nicht sein.
Darum habe ich versucht, nur die Formate und Werte zu kopieren, aber entweder ist die Datei dann leer oder es treten Fehler auf. Gibt es da einen anderen/richtigen Weg?
hier ist's imm er leer
ThisWorkbook.Sheets("xxx").Select
Selection.Copy
Workbooks.Add
ActiveWorkbook.Sheets(1).Cells.Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Steve

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Werte+Formate in neue Tabelle kopieren
01.12.2006 10:25:05
fcs
Hallo Steve,
hier ein Vorschlag, bei dem die notwendigen Aktionen Blattkopieren und Leerzeilen löschen in 2 Subroutinen erledigt werden, bevor die Kopie gespeichert wird.
Gruß
Franz

Sub Test()
Dim wbQuelle As Workbook
Dim wksQuelle As Worksheet, wksKopie As Worksheet
'Quelldaten festlegen
Set wbQuelle = ActiveWorkbook
Set wksQuelle = wbQuelle.Worksheets("Tabelle1")
Call TabellemitWertenFormatenKopieren(wksQuelle)
Set wksKopie = ActiveWorkbook.Worksheets(1)
Call LeereZeilenLoeschen(wksKopie)
wksKopie.SaveAs Filename:= _
wbQuelle.Path & "\name.dat", FileFormat:=xlTextPrinter, CreateBackup:=False
End Sub
Sub TabellemitWertenFormatenKopieren(Tabelle As Worksheet)
'Kopiert Tabelle in eine neue Datei, Werte und Formate der Zellen werden übernommen
Dim wbZiel As Workbook
Dim wksZiel As Worksheet
'ZielTabelle neu anlegen
Set wbZiel = Workbooks.Add(Template:=xlWBATWorksheet)
Set wksZiel = wbZiel.Worksheets(1)
wksZiel.Name = Tabelle.Name
'Daten und Formate kopieren
Tabelle.UsedRange.EntireColumn.Copy
wksZiel.Cells(1, Tabelle.UsedRange.Column).PasteSpecial Paste:=xlFormats
wksZiel.Cells(1, Tabelle.UsedRange.Column).PasteSpecial Paste:=xlValues
Application.CutCopyMode = False
End Sub
Sub LeereZeilenLoeschen(Tabelle As Worksheet)
'Löscht in der Tabelle Leerstrings in Zellen und löscht Leerzeilen
Dim Zeile As Long, Zelle As Range
'Inhalte von Zellen mit Leerstrings löschen
For Each Zelle In Tabelle.UsedRange
If Zelle.Value = "" Then Zelle.ClearContents
Next
'Leerzeilen Löschen
Zeile = Tabelle.UsedRange.Row + Tabelle.UsedRange.Rows.Count - 1
For Zeile = Zeile To 1 Step -1
If Application.WorksheetFunction.CountA(Tabelle.Rows(Zeile)) = 0 Then
Tabelle.Rows(Zeile).Delete Shift:=xlShiftUp
End If
Next
End Sub

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige