Anzeige
Archiv - Navigation
1668to1672
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

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


		

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.
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.
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.
Anzeige
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.

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige