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

.printout Problem

.printout Problem
18.06.2009 13:31:30
Jaffi
Hallo liebes Forum.
Mail wieder ein Problem :/
Ich versuche nach erfolgreichem Durchlauf einer Procedur ein Sheet auszudrucken.
Folgenden Code nutze ich:

Sub besteinfuegen()
Dim varTextDatei
Dim strPfadAkt As String, rngEinfuegZelle As Range
Dim msg As Integer
strPfadAkt = VBA.CurDir 'Aktives Verzeichnis merken
VBA.ChDir "Macintosh HD:Users:Shared:" 'Verzeichnis mit Textdateien
varTextDatei = Application.GetOpenFilename(Title:="Bitte die soeben erstellte Datei auswählen" _
)
If varTextDatei  False Then
If InStr(1, LCase(varTextDatei), "best") > 0 Then
Set wksBestellung = Worksheets("Bestellungen")
'Einfügezelle ermitteln
With wksBestellung
If .Cells(.Rows.Count, 1).End(xlUp).Row >= 3 Then
Set rngEinfuegZelle = .Cells(.Rows.Count, 1).End(xlUp).Offset(1, 0)
Else
Set rngEinfuegZelle = .Range("A3")
End If
End With
wksBestellung.Activate
'Querrydaten holen
With wksBestellung.QueryTables.Add(Connection:="TEXT;" & varTextDatei, Destination:= _
rngEinfuegZelle)
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.RefreshOnFileOpen = True
.BackgroundQuery = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.TextFilePromptOnRefresh = False
.TextFilePlatform = xlMacintosh
.TextFileStartRow = 2
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = True
.TextFileSemicolonDelimiter = True
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(1, 1, 9, 9, 1, 9, 1, 9, 9, 1, 9)
.Refresh BackgroundQuery:=False
Activesheets.PrintOut
End With
Dim objQuerry As QueryTable
'Querries löschen
For Each objQuerry In wksBestellung.QueryTables
objQuerry.Delete
Next
Call spaltenbest
Else
msg = MsgBox(" " & vbNewLine & "                       Möchten Sie eine andere Datei  _
importieren?", vbYesNo, "  Die Datei ist ungültig und kann nicht importiert werden!")
If msg = vbYes Then
Call besteinfuegen
Else
Exit Sub
End If
End If
End If
VBA.ChDir strPfadAkt 'aktuelles Verzeichnis zurücksetzen
End Sub
Sub spaltenbest()
Columns("A:A").ColumnWidth = 6.33
Columns("B:B").ColumnWidth = 48.33
Columns("C:C").ColumnWidth = 10.17
Columns("D:D").ColumnWidth = 40.67
Columns("E:E").ColumnWidth = 5.83
Columns("F:F").ColumnWidth = 18.67
End Sub


Nun zu meinem Problem. Leider druckt er mir nur zwei Striche aus. Wenn ich das richtig sehe nämlich nur die Zelle, die gerade Blau umrandet, also activ ist.
Mein Wunschtraum wäre aber, das er mir NUR die Zellen ausdruckt die Text enthalten UND ich müsste vorher noch einen Drucker wählen können-...
Kann VBA das?
Eine leider immernoch Anfängerin hofft demütig auf Hilfe ;o)
Danke und LG :*

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: .printout Problem
18.06.2009 14:48:14
fcs
Hallo Jaffi,
passe das Ende der Prozedur wie folgt an.
Dann wird Druckbereich festgelegt (bis letzte Zeile in Spalte A) und du kannst vor dem Drucken den Drucker wählen.
Gruß
Franz

.Refresh BackgroundQuery:=False
'?        Activesheets.PrintOut
End With
Dim objQuerry As QueryTable
'Querries löschen
For Each objQuerry In wksBestellung.QueryTables
objQuerry.Delete
Next
Call spaltenbest
'Drucken:
'        If MsgBox("Datei drucken", vbYesNo) = vbYes Then
With wksBestellung
'Letzte Datenzelle in Spalte A
Set rngEinfuegZelle = .Cells(.Rows.Count, 1).End(xlUp)
'Druckbereich A1 bis Spalte F letzte Zeile
.PageSetup.PrintArea = .Range(.Cells(1, 1), .Cells(rngEinfuegZelle.Row, 6)).Address
'Drucker auswählen
Application.Dialogs(xlDialogPrinterSetup).Show
'.PrintPreview
.PrintOut
End With
'        End If
Else
msg = MsgBox(" " & vbNewLine _
& "                       Möchten Sie eine andere Datei importieren?", _
vbYesNo, "  Die Datei ist ungültig und kann nicht importiert werden!")
If msg = vbYes Then
Call besteinfuegen
Else
Exit Sub
End If
End If
End If
VBA.ChDir strPfadAkt 'aktuelles Verzeichnis zurücksetzen
End Sub


Anzeige
AW: .printout Problem
18.06.2009 15:17:10
Jaffi
Super ;)
Mit

Application.Dialogs(xlDialogPrint).Show


Klappt es...
Mal wieder Danke Franz ;)
was wäre ich ohne Dich ;)
LG :*

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige