Excel VBA - PDF Export - PrintArea mehre Seiten?

1 Antwort

Hä? Du hast diesen Code auf die Beine gestellt und scheiterst jetzt bei der Seitenzahl? o.O

Okey, manchmal sieht man den Wald vor lauter Bäumen nicht. Statt

To:=16

schreibst du 

To:=Range("Z3").Value

HAT SICH ERLEDIGT.. war mein denkfehler...


LÄUFT

TAUSEN DANK!!!!



Klasse... wenn ich Dir sagen, dass ich "nur" das value vergessen hab :-(


oh man.. sitz seit 10h an dem Projekt und kurz vorm schluss gehn mir die grauen zellen aus..


Aber Hey nun geht das. aber der Zellwert ist keine zahl sondern eine Summe....

Wenn ich den Wert rüberhole in per =L15 - kann vba damit nichtsmehr anfangen dann ist z3 wie wert 1....

0
@danielw08128

Verstehe ich nicht. Was steht denn in L15 drin?

Ich habe mir in L15 eine 16 geschrieben und in Z3 =L15. In VBA habe ich 

Debug.Print Range("Z3").Value

geschrieben und es wird mir 16 ausgegeben.

Du kannst dir den Wert für To auch in eine eigene Variable speichern und diese dann im Druckbefehl verwenden:

Dim iTo as Integer
iTo = Range("Z3").Value
0

Ich habe einen Code in Excel der in der If Funktion mir sagt das er einen Audruck erwartet.. Ab If ist alles rot markiert.?

Sub Tabellen_ausblenden()

Dim wks As Worksheet

For Each wks In ThisWorkbook.Worksheets  

If wks.Name = "Tabelle1" Then     wks.Visible = xlVeryHidden   End If Next wks

End Sub

...zur Frage

For Steuervariabel wird bereits verwendet! was bedeutet das?

Hallo nochmals,

ich habe mit hilfe con einigen "gutefrage.net" usern einen code geschrieben und versuche jzt durch "Copy-Paste" es für jede Zelle anzuwenden.

Beim For-Befehl kommt immer folgende Meldung "For Steuervariabel wird bereits verwendet"

was bedeutet das ? heißt es, das man das "For" nur einmal in einem code gebrauchen kann ? wäre vielleicht ein "GoTo" befehl angebrachter? ( sprich: go to next cell, wenn die bedingung erfüllt ist )

hier ist der code:

sub kopieren( )

Dim Zelle As Range Dim Wert As Variant

Wert = ActiveSheet.Range("J16:j29")

With Sheets("Tabelle2") For Each Zelle In .Range("F6:G6")

If ((Range("J16").EntireRow.Hidden = True)

Or (Range("J16").EntireColumn.Hidden = True))

Or (Range("J16").Font.Strikethrough = True) Then

Zelle.Value = ActiveSheet.Range("J17")

Else

Zelle.Value = ActiveSheet.Range("J16")

With Sheets("tabelle2")

For Each Zelle In .Range("H6:I6")

If ((Range("J17").EntireRow.Hidden = True)

Or (Range("J17").EntireColumn.Hidden = True))

Or (Range("J17").Font.Strikethrough = True) Then

Zelle.Value = ActiveSheet.Range("J18")

Else

Zelle.Value = ActiveSheet.Range("J17")

End If End With End If Next Zelle End With End Sub

Danke schonmal für eure Tatkräftigen Hilfen :)))

Gruß Newb

...zur Frage

Aus Excel, Word-Datei öffnen, Verknüpfte Felder aktualisieren, als PDF speichern und Word und PDF-Datei ohne Speichern schließen?

Hey Leute,

der Fragetitel sagt alles aus:

Ich möchte aus Excel heraus eine bestimmte Word-Datei können, die vorhanden verknüpften Felder aktualisieren und dann daraus eine PDF speichern. Zum Schluss soll beide Dateien ohne Speichern und ohne das Nachgefragt wird geschlossen werden.

Ich habe bisher das, komme, aber nicht weiter....

Sub WordTEST()
Dim AppWD As Object
Set AppWD = CreateObject("Word.Application")
AppWD.Visible = True
AppWD.Documents.Open "...........docx"

AppWD.Selection.Fields.Update

.......

ActiveDocument.Close wdDoNotSaveChanges

End Sub

...zur Frage

Wie kann ich Variablen übergeben (Excel, VisualBasic)?

Hallo zusammen,

ich habe eine UserForm in der folgendes steht:

    ...
    Spalte = 3
    Zeile = 6
    
    Unload UserForm1
    
    If OptionButton2 = True Then
        UserForm2.Show
    End If
...

In der zweiten UserForm steht dann:

Sub CommandButton1_Click()

If OptionButton1 = True Then
    Spalte = 6
ElseIf OptionButton2 = True Then
    Spalte = 9
ElseIf OptionButton3 = True Then
    Spalte = 12
ElseIf OptionButton4 = True Then
    Spalte = 15
End If

Unload UserForm2

End Sub

Leider funktioniert es nicht und "Spalte" bleibt immer 6.. Kann mir jemand weiterhelfen und sagen wie ich es hin bekomme, dass Spalte geändert wird?

...zur Frage

Ich möchte in Excel, dass man einen Druckauftrag nur per VBA geben kann, und NICHT über Datei -> Drucken oder STRG+P. Geht das?

Meine Idee war, zunächst das Drucken mittels InputBox per Passwort zu schützen.

Option Explicit

Private Sub Workbook_BeforePrint(Cancel As Boolean)
Dim pw As String, chk As String
pw = "Passwort"
chk = InputBox("Bitte Passwort eingeben", "Druckauftrag", "xxx")
If pw <> chk Then
    MsgBox "Falsches Passwort. Druckauftrag abgebrochen"
    Cancel = True
    Exit Sub
End If
End Sub

Dann einen zweiten VBA-Code der tatsächlich das Drucken ermöglicht.

Option Explicit                                     

Sub Drucken()

    Dim LoI As Long                                 
    Dim LoLetzte As Long                           
    LoLetzte = IIf(IsEmpty(Cells(Rows.Count, 45)), _
        Cells(Rows.Count, 45).End(xlUp).Row, Rows.Count)
    For LoI = LoLetzte To 2 Step -1
        If Cells(LoI, 45) <> Empty Then Exit For
    Next LoI
    ActiveSheet.PageSetup.PrintArea = "$A$1:$AU$" & LoI
    ActiveSheet.PrintOut
    
End Sub

Inklusive der Eingabe des Passworts für die InputBox.

Aber ich habe mich belesen, dass das Eintragen des PW per VBA in einer InputBox sehr aufwendig sein soll.

Habt Ihr andere Ideen?

...zur Frage

Organigram Excel mit einklappen und ausklappen (per Makro?)?

Hallo Zusammen,

etwas komplizierteres Problem hier: (zumindest bin ich nach stundenlangem Googeln auf englisch und deutsch auf kein akzeptables ergebis gekommen)

Im Prinzip klingt es einfach: Ich will ein Organigramm erstellen per Excel (Word wuerde auch noch gehen, keine sonstige Freeware da ich im Buero keine Software runterladen kann/darf). Nun will ich aber kein "statisches" Organigram (zb per SmartArt). Es soll eher so etwas sein wo ich auf einen Namen klicke und dann alle untergeordneten Leute/Mitarbeiter aufklappen (NUR DIE VON DEM JEWEILIGEN "BOSS").

Mit Gruppieren etc. komme ich nicht vorran da ich 1. will dass es per Mausklick auf den namen geht und 2. ich nicht mehr als 8 untergruppen erstellen kann damit.

Am liebsten auch ein Makro dass ich anpassen koennte ?Hab hier noch ein Bild was vllt etwas besser erklaert was ich meine.

Zum Bild:Ich will dann quasi dass am Anfang nur "CEO" da steht. Dann klicke ich zb auf "C" dann poppen 1,2,3,4,5 auf und ich klicke auf "1" dann poppen 11,12,13 auf etc.. der rest soll am besten verborgen bleiben (viel uebersichtlicher)

Hoffe, dass war einigermassen gut erklaert. Bei Fragen etc einfach nachfragen...Ich finde dazu leider auch wirklich nirgends etwas (ausser irgendwelcher Freeware etc.) Aber es MUSS doch moeglich sein?

Danke euch vieeelmals schonmal!!!

EDIT:

hab jetzt mal probiert einen Makro zu schreiben:

Sub collapse()

Selection.Offset(1, 1).Select
Range(Selection, Selection.End(xlDown)).

Select Selection.EntireRow.Hidden = True

End Sub

_______

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)

If Target.Column = 2 Then

Target.Select

Call collapse

End If

If Target.Address = "$B$10" Then

Target.Select

Call collapse

End If

End Sub

____

Problem: Wenn ich es mit "target.column" mache (was mir lieber ist) dann wuerde ich gerne haben dass er bei leeren zellen nichts macht in dieser spalte... wie geht das genau? und hat einer eine ahnung wie ich das hinkrieg dass wenn ich WIEDER auf die gleiche zelle gehe er mir des rueckgaengig macht? Ich hab so eine ahnugn mit true/false denke ich mal aber habe keine ahnung wie ich das umsetzen kann..

Also irgendwie dass wenn ich einmal draufdruecke und des eingeklappt ist er weiss visibile = false oder sowas und wenn ich wieder draufdruecke soll er halt true machen versteht ihr mich :D?

...zur Frage

Was möchtest Du wissen?