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

Druckmakro noch ohne Formel- wie einarbeiten?

Druckmakro noch ohne Formel- wie einarbeiten?
31.03.2017 14:38:05
Frank
Hallo,
doch noch ein Problem...
Erstellt werden soll Deckblatt, welches am Ende auch in einer anderen Datei abgespeichert wird. Einige Zellen werden über Formeln aus anderen Tabellenblätter gefüttert. Das Funktioniert soweit. Jedoch in der gespeicherten Datei steht dann 'BEZUG'.
Die saubere Lösung ist sicherlich ein Makro mit den Formeln, welche mir die Ergebnisse in den Zielzellen einträgt.
Nun hängt es aber etwas an der Erstellung des Makros.
Hier mal das "Druckmakro" jedoch fehlen hier noch die drei Formeln.
Im Deckblatt Zelle F33 hat die Formel =ANZAHL2(Bearbeiten!C:C)
Zelle F35 =ZÄHLENWENN(Bearbeiten!L:L;"ja")
und Zelle F37 =ZÄHLENWENN(Bearbeiten!L:L;"nein")
Bekommt man das mit in das Druckmakro?

  • Sub Makro17()
    ' Erstelle Deckblatt
    Range("AC28:AC31").Select
    Selection.Copy
    Sheets("Deckblatt").Select
    Range("A14").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False
    Range("A65").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False
    Sheets("Druckmenü").Select
    Range("AC34").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Deckblatt").Select
    Range("L66:M68").Select
    Range("C43").Select
    Sheets("Druckmenü").Select
    Range("Q45").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Deckblatt").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False
    Sheets("Druckmenü").Select
    Range("R33:S33").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Deckblatt").Select
    Range("F21").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False
    Range("F72").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False
    Sheets("Druckmenü").Select
    Range("R35:S35").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Deckblatt").Select
    Range("F74").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False
    Range("F23").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False
    Range("M19").Select
    Sheets("Druckmenü").Select
    Range("Y35:Z35").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Deckblatt").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False
    ActiveWindow.SmallScroll Down:=36
    Range("M70").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False
    End Sub
    


  • Vielleicht kann mal jemand drüber schauen?
    MFG Frank

    4
    Beiträge zum Forumthread
    Beiträge zu diesem Forumthread

    Betreff
    Datum
    Anwender
    Anzeige
    AW: Druckmakro noch ohne Formel- wie einarbeiten?
    31.03.2017 15:47:10
    ChrisL
    Hi Frank
    Erstmal ein Versuch das Makro aufzuräumen. Die Bereiche solltest du überprüfen.
    Sub Makro17()
    Dim WS1 As Worksheet, WS2 As Worksheet
    Set WS1 = Worksheets("Druckmenü")
    Set WS2 = Worksheets("Deckblatt")
    With WS1
    WS2.Range("A14:A17") = .Range("AC28:AC31").Value
    WS2.Range("A65:A68") = .Range("AC28:AC31").Value
    WS2.Range("C43") = .Range("Q45").Value
    WS2.Range("F21:G21") = .Range("R33:S33").Value
    WS2.Range("F72:G72") = .Range("R33:S33").Value
    WS2.Range("F74:G74") = .Range("R35:S35").Value
    WS2.Range("F23:G23") = .Range("R35:S35").Value
    WS2.Range("M19:N19") = .Range("Y35:Z35").Value
    WS2.Range("M70:N70") = .Range("Y35:Z35").Value
    End With
    End Sub
    
    Wenn du das ganze Blatt in eine neue Mappe kopierst, dann müsste sich die Formel eigentlich automatisch anpassen.
    =ANZAHL2(Bearbeiten!C:C)
    wird automatisch zu...
    =ANZAHL2([Mappe2.xlsm]Bearbeiten!C:C)
    cu
    Chris
    Anzeige
    AW: Druckmakro noch ohne Formel- wie einarbeiten?
    31.03.2017 16:11:17
    Frank
    Danke erst mal ChrisL,
    das Druckmakro ist ja sowas von geschrumpft... Bereiche stimmen.
    Der Bezugsfehler tritt auf, wenn im Verlaufe die Bezugstabelle neu erstellt wird.Bevor die Tabelle gelöscht wird, ist der Formelbezug in Ordnung ( wenn die Formel ohne Bezugsfehler ist).
    Sobald die Bezugstabelle gelöscht wurde, eine neue namensgleiche erstellt wurde dann dies.
    Deshalb dachte ich, die Formel mit in das Makro zu integrieren.
    Userbild
    Deckblatt Zelle F33 hat die Formel =ANZAHL2(Bearbeiten!C:C)
    Zelle F35 =ZÄHLENWENN(Bearbeiten!L:L;"ja")
    und Zelle F37 =ZÄHLENWENN(Bearbeiten!L:L;"nein")
    MfG Frank
    Anzeige
    AW: Druckmakro noch ohne Formel- wie einarbeiten?
    31.03.2017 16:24:00
    ChrisL
    Hi Frank
    OK, wenn du die Tabelle "Bearbeiten" löschst, dann gehen natürlich die Bezüge verloren.
    Sub Makro17()
    Dim WS1 As Worksheet, WS2 As Worksheet
    Set WS1 = Worksheets("Druckmenü")
    Set WS2 = Worksheets("Deckblatt")
    With WS2
    .Range("A14:A17") = WS1.Range("AC28:AC31").Value
    .Range("A65:A68") = WS1.Range("AC28:AC31").Value
    .Range("C43") = WS1.Range("Q45").Value
    .Range("F21:G21") = WS1.Range("R33:S33").Value
    .Range("F72:G72") = WS1.Range("R33:S33").Value
    .Range("F74:G74") = WS1.Range("R35:S35").Value
    .Range("F23:G23") = WS1.Range("R35:S35").Value
    .Range("M19:N19") = WS1.Range("Y35:Z35").Value
    .Range("M70:N70") = WS1.Range("Y35:Z35").Value
    .Range("F33").Formula = "=COUNTA(Bearbeiten!C:C)"
    .Range("F35").Formula = "=COUNTIF(Bearbeiten!L:L,""ja"")"
    .Range("F37").Formula = "=COUNTIF(Bearbeiten!L:L,""nein"")"
    End With
    End Sub
    

    cu
    Chris
    Anzeige
    Bezüge sind nun wieder da
    31.03.2017 16:42:44
    Frank
    Hurra- die Bezüge sind wieder da! Herzlichen Dank Chris.
    Dank der "Schrumpfungsvorlage"wrde ich mich mal über das andere Makro "Erstelle Blattkopfdaten" hermachen. Ich probiere mal.
    MfG Frank

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige