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

Ausdruck nach Aktualisierung

Ausdruck nach Aktualisierung
12.07.2023 13:41:40
UweB
Hallo zusammen,

ich habe folgendes Problem. Meine Datei besteht aus 3 Tabellenblättern. Im ersten gebe ich fortlaufend Daten ein. Der letzte Eintrag (letzte Zeile) wird kopiert in ein Zwischentabellenblatt. Die Daten aus diesem Zwischentabellenblatt sind verknüpft mit einem Dokument, welches ich ausdrucken und versenden muss. Da ich aber immer nur den letzten Datensatz brauche, habe ich die Zwischentabelle. Der Datensatz in der Zwischentabelle wird nach dem Drucken gelöscht.
Soweit so gut. Mein Problem ist nun, dass beim Druck immer der vorletzte Datensatz gedruckt wird, obwohl in der Zwischentabelle der aktuelle Datensatz abgelegt wurde und auch nur einer vorhanden ist.
Folgende VBA hab ich hinterlegt (Button: Antrag drucken):

Sub Kopieren_Transponieren()
Worksheets("ZeilenKopie").Visible = True
Dim loLetzte As Long
With Worksheets("Mittelumschichtung")
loLetzte = .Cells(.Rows.Count, 1).End(xlUp).Row
.Rows(loLetzte - 0 & ":" & loLetzte).Copy
End With
Sheets("ZeilenKopie").Cells(Rows.Count, 1).End(xlUp).Offset(1).PasteSpecial Paste:=xlValues, _
Operation:=xlNone, SkipBlanks:=False, Transpose:=False

Sheets("Antrag").Select
Range("A3:D3").Select
ActiveCell.FormulaR1C1 = "=+ZeilenKopie!R[-1]C"

Range("E13").Select
ActiveCell.FormulaR1C1 = "=+ZeilenKopie!R[-11]C[2]"

Range("B7").Select
ActiveCell.FormulaR1C1 = "=+ZeilenKopie!R[-5]C[2]"

Range("E7:H9").Select
ActiveCell.FormulaR1C1 = "=+ZeilenKopie!R[-5]C"

Range("B13").Select
ActiveCell.FormulaR1C1 = "=+ZeilenKopie!R[-11]C[4]"

Range("F13").Select
ActiveCell.FormulaR1C1 = "=+ZeilenKopie!R[-11]C[2]"

Range("B18").Select
ActiveCell.FormulaR1C1 = "=+ZeilenKopie!R[-16]C[9]"

Range("E18").Select
ActiveCell.FormulaR1C1 = "=+ZeilenKopie!R[-16]C[7]"

Range("F18").Select
ActiveCell.FormulaR1C1 = "=+ZeilenKopie!R[-16]C[7]"

Range("B42").Select
ActiveCell.FormulaR1C1 = "=+ZeilenKopie!R[-16]C[7]"

Range("G18:H18").Select
ActiveCell.FormulaR1C1 = "=+ZeilenKopie!R[-16]C[7]"

Range("B19").Select
ActiveCell.FormulaR1C1 = "=+ZeilenKopie!R[-17]C[13]"

Range("E19").Select
ActiveCell.FormulaR1C1 = "=+ZeilenKopie!R[-17]C[11]"

Range("F19").Select
ActiveCell.FormulaR1C1 = "=+ZeilenKopie!R[-17]C[11]"

Range("G19:H19").Select
ActiveCell.FormulaR1C1 = "=+ZeilenKopie!R[-17]C[11]"

Range("B20").Select
ActiveCell.FormulaR1C1 = "=+ZeilenKopie!R[-18]C[17]"

Range("E20").Select
ActiveCell.FormulaR1C1 = "=+ZeilenKopie!R[-18]C[15]"

Range("F20").Select
ActiveCell.FormulaR1C1 = "=+ZeilenKopie!R[-18]C[15]"

Range("G20:H20").Select
ActiveCell.FormulaR1C1 = "=+ZeilenKopie!R[-18]C[15]"

Range("B21").Select
ActiveCell.FormulaR1C1 = "=+ZeilenKopie!R[-19]C[21]"

Range("E21").Select
ActiveCell.FormulaR1C1 = "=+ZeilenKopie!R[-19]C[19]"

Range("F21").Select
ActiveCell.FormulaR1C1 = "=+ZeilenKopie!R[-19]C[19]"

Range("G21:H21").Select
ActiveCell.FormulaR1C1 = "=+ZeilenKopie!R[-19]C[19]"

Range("A25:H25").Select
ActiveCell.FormulaR1C1 = "=+ZeilenKopie!R[-23]C[8]"

Range("A26").Select

ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False

Sheets("ZeilenKopie").Select
Rows("2:2").Select
Application.CutCopyMode = False
Selection.Delete Shift:=xlUp
Worksheets("ZeilenKopie").Visible = True
Sheets("Mittelumschichtung").Select
Range("A4").Select
End Sub

Was mache ich falsch? Erfolgt die Löschung zu schnell?

Vielen Dank für Eure Hilfe. :-)

Uwe

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Ausdruck nach Aktualisierung
12.07.2023 14:13:33
Rudi Maintaire
Hallo,
warum fügst du nicht einfach in Zeilenkopie!A2 ein?
Die Formeln würde ich absolut setzen.
Bsp.:
With Worksheets("Mittelumschichtung")
  loLetzte = .Cells(.Rows.Count, 1).End(xlUp).Row
  .Rows(loLetzte).Copy
End With

Sheets("ZeilenKopie").Cells(2, 1).PasteSpecial Paste:=xlValues, _
Operation:=xlNone, SkipBlanks:=False, Transpose:=False

Sheets("Antrag").Select
Range("A3:D3").FormulaLocal = "=ZeilenKopie!A2"
Range("E13").FormulaLocal = "=ZeilenKopie!G2"
Range("B7").FormulaLocal = "=ZeilenKopie!D2"
Range("E7:H9").FormulaLocal = "=ZeilenKopie!E2"
Range("B13").FormulaLocal = "=ZeilenKopie!F2"
Range("F13").FormulaLocal = "=ZeilenKopie!H2"
Range("B18").FormulaLocal = "=+ZeilenKopie!K2"
'etc.
Gruß
Rudi

Anzeige
AW: Ausdruck nach Aktualisierung
12.07.2023 14:17:04
UweB
Hallo Rudi,
vielen Dank für den Hinweis. Tausche ich gleich mal aus. Ich hatte das bisher über die Makroaufzeichnung gemacht und die hat diese "Variante" genommen. ;-)

Gruß
Uwe

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige