Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Kopieren in unterschiedliche Tabellenblätte

Kopieren in unterschiedliche Tabellenblätte
25.01.2019 10:51:54
Micro
Hallo Zusammen,
Ich habe für mich und meine Kollegen eine Reisekostenabrechnung erstellt.
Bitte seht mir die Leihenhafte Erstellung der VBA Codes nach, ich habe mir alles nur zusammen gesucht und so gut es geht umgesetzt.
Grundfunktion:
- Einträge werden im Tabellenblatt "Fahrtkostenmeldung" eingegeben.
- Durch den Button "KW abschließen und zurücksetzen" soll der Inhalt des angegebenen Bereiches sowie die Formatierung aus dem Datenblatt "Fahrtkostenmeldung in das Datenblatt "Jahresübersicht" immer an die 1. Freie Zeile ab der Zeile kopiert werden.
- Er soll nach dem Kopiervorgang wieder zurück in das Blatt "Fahrtkostenmeldung" wechseln.
Das funktioniert auch soweit reibungslos.
Allerdings bleibt der komplette kopierte Bereich im Tabellenblatt "Jahresübersicht" nach dem Kopiervorgang weiter markiert. Das soll nicht sein.
Könnt ihr mir hier helfen? Funktionieren will es bislang nicht.
Hier der Code:
Sub KW_abschliessen()
Dim Zeile As Long, Spalte As Long
Dim LastRow As Integer
Dim wksWo As Worksheet
Dim wksJahr As Worksheet
'Message Box generieren
If MsgBox("KW abschliessen & zuruecksetzen?", vbOKCancel) = vbCancel Then
Exit Sub
End If
Set wksMeldung = Sheets("Fahrtkostenmeldung")
Set wksJahr = Sheets("Jahresuebersicht")
Application.ScreenUpdating = False
With wksJahr
'erste freie Zeile in Ausgabe-Blatt in Uebersicht
Zeile = .Cells(.Rows.Count, 1).End(xlUp).Row + 1
'Bereich 1 kopieren
wksMeldung.Range("A14:AC65").Copy
'einfuegen in
Spalte = .Range("A14").Column
.Cells(Zeile, Spalte).PasteSpecial Paste:=xlPasteFormats, _
Operation:=xlNone, SkipBlanks:=False, Transpose:=False
.Cells(Zeile, Spalte).PasteSpecial Paste:=xlPasteValues, _
Operation:=xlNone, SkipBlanks:=False, Transpose:=False
End With
With wksJahr
Range("D11").Select
End With
With wksJahr
ActiveWindow.ScrollColumn = 65
Range("AF20:BA65").Select
Selection.Copy
ActiveWindow.ScrollColumn = 1
Range("A20").Select
ActiveSheet.Paste
Range("J17").Select
'Kopiermodus beenden
Application.CutCopyMode = False
Application.ScreenUpdating = True
End With
End 

Sub


		
Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Kopieren in unterschiedliche Tabellenblätte
25.01.2019 10:56:25
Micro
Sorry, hier der Ursprungscode, der oben stehende ist bereits mein Versuch den Fehler zu beheben indem ich versucht habe einfach vor Abschluss des Subs noch einmal eine einzelne Zelle im tabellenblatt Jahresübersicht auszuwählen und so die Markierung zu lösen.
Sub KW_abschliessen()
Dim Zeile As Long, Spalte As Long
Dim LastRow As Integer
Dim wksWo As Worksheet
Dim wksJahr As Worksheet
'Message Box generieren
If MsgBox("KW abschliessen & zuruecksetzen?", vbOKCancel) = vbCancel Then
Exit Sub
End If
Set wksMeldung = Sheets("Fahrtkostenmeldung")
Set wksJahr = Sheets("Jahresuebersicht")
Application.ScreenUpdating = False
With wksJahr
'erste freie Zeile in Ausgabe-Blatt in Uebersicht
Zeile = .Cells(.Rows.Count, 1).End(xlUp).Row + 1
'Bereich 1 kopieren
wksMeldung.Range("A14:AC65").Copy
'einfuegen in
Spalte = .Range("A14").Column
.Cells(Zeile, Spalte).PasteSpecial Paste:=xlPasteFormats, _
Operation:=xlNone, SkipBlanks:=False, Transpose:=False
.Cells(Zeile, Spalte).PasteSpecial Paste:=xlPasteValues, _
Operation:=xlNone, SkipBlanks:=False, Transpose:=False
End With
With wksJahr
ActiveWindow.ScrollColumn = 65
Range("AF20:BA65").Select
Selection.Copy
ActiveWindow.ScrollColumn = 1
Range("A20").Select
ActiveSheet.Paste
Range("J17").Select
End With
'Kopiermodus beenden
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub

Anzeige
AW: Kopieren in unterschiedliche Tabellenblätte
25.01.2019 12:40:58
Torsten
Frage:
Ist es unbedingt notwendig, dass die Formate mitkopiert werden?
Wenn nicht kannst du auch direkt kopieren.
Dann wird auch nichts selektiert oder markiert.
AW: Kopieren in unterschiedliche Tabellenblätte
25.01.2019 10:59:56
onur
Wenn du
With wksJahr
End with

benutzt, muss alles was wksjahr betreffen soll, einen "." davor haben. z.B.
With wksJahr
.Range(x,y) = "AAA" 'betrifft wksjahr
Range(x,y) = "AAA" 'betrifft nur das aktive Blatt
End with

sonst bringt das "With" auch nix.
Anzeige
AW: Kopieren in unterschiedliche Tabellenblätte
25.01.2019 12:17:00
Micro
Ich habe es jetzt so umgesetzt.
Dank deines Hinweises das Makro noch anpassen können aber die Markierungen dann durch die lezten beiden Befehle herausnehmen können.
Sieht das so vernünftig aus?
Sub KW_abschliessen()
Dim Zeile As Long, Spalte As Long
Dim LastRow As Integer
Dim wksWo As Worksheet
Dim wksJahr As Worksheet
'Message Box generieren
If MsgBox("KW abschliessen & zuruecksetzen?", vbOKCancel) = vbCancel Then
Exit Sub
End If
Set wksMeldung = Sheets("Fahrtkostenmeldung")
Set wksJahr = Sheets("Jahresuebersicht")
Application.ScreenUpdating = False
With wksJahr
'erste freie Zeile in Ausgabe-Blatt in Uebersicht
Zeile = .Cells(.Rows.Count, 1).End(xlUp).Row + 1
'Bereich 1 kopieren
wksMeldung.Range("A14:AC65").Copy
'einfuegen in
Spalte = .Range("A14").Column
.Cells(Zeile, Spalte).PasteSpecial Paste:=xlPasteFormats, _
Operation:=xlNone, SkipBlanks:=False, Transpose:=False
.Cells(Zeile, Spalte).PasteSpecial Paste:=xlPasteValues, _
Operation:=xlNone, SkipBlanks:=False, Transpose:=False
ActiveWindow.ScrollColumn = 65
Range("AF20:BA65").Select
Selection.Copy
ActiveWindow.ScrollColumn = 1
Range("A20").Select
ActiveSheet.Paste
' Kopiermodus beenden
Application.CutCopyMode = False
Application.ScreenUpdating = True
End With
Sheets("Jahresuebersicht").Select
Range("D11").Select
Sheets("Fahrtkostenmeldung").Select
Range("J17").Select
End Sub

Anzeige
AW: Kopieren in unterschiedliche Tabellenblätte
25.01.2019 12:22:11
onur
Schon besser, aber:
Sheets("Jahresuebersicht").Select
Range("D11").Select
Sheets("Fahrtkostenmeldung").Select
Range("J17").Select

Warum selektierst du erst Das eine Blatt und die Zelle D11 und dann sofort das andere Blatt und J17?
Dann kannst du die ersten beiden Zeilen weglassen,
Es ist das gleiche wie:
x=17
x=18

die erste Zeile kanst du auch weglassen, da die zweite die erste aufhebt.
Anzeige
AW: Kopieren in unterschiedliche Tabellenblätte
25.01.2019 12:34:55
Micro
Habe ich auch gedacht und bin auch noch immer auf der Suche nach dem Fehler.
Wenn ich die Auswahl auf D11 weglasse, dann bleibt weiterhin der Bereich markiert in den kopiert wurde.
Lasse ich die Auswahl von J17 weg bleibt der Bereich markiert von dem markiert wurde.
AW: Kopieren in unterschiedliche Tabellenblätte
25.01.2019 12:43:03
onur
Du brauchst nix selektieren, um was zu kopieren.
Range("AF20:BA65").Select
Selection.Copy
ActiveWindow.ScrollColumn = 1
Range("A20").Select
ActiveSheet.Paste

kannst du mit
Range("AF20:BA65").Copy Range("A20")

ersetzen.
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige