Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1344to1348
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

Makro umschreiben zum zuletzt verw. Blatt zurück

Makro umschreiben zum zuletzt verw. Blatt zurück
11.01.2014 15:46:38
rieckmann
Hallo,
ich möchte eine oder mehrere markierte Zeilen in die erste freie Zeile des
Tabellenblattes "Ausgabeliste" kopieren.
Das funktioniert mit den unten gezeigten Code super.
Nun soll aber nach dem kopieren wieder das zu vor geöffnete Tabellenblatt angezeigt werden.
Besser noch die zu vor markierte Zeile.
(Also nicht wie hier die "Tabelle1")
Wie muss dann dieser Code umgeschrieben werden ?
Gruß
Fred
Sub Kopieren()
Selection.Copy
Sheets("Ausgabeliste").Select 'Name deines Tabellenblatts für Werte einfügen
Range("A1").Select
For i = 1 To 5700
If ActiveCell.Value  "" Then ActiveCell.Offset(1, 0).Select Else Exit For 'falls Zelle voll -> _
nächste Zelle
Next i
ActiveSheet.Paste 'fügt die Werte ein
Sheets("Tabelle1").Select 'geht zurück zum Blatt 1
Application.CutCopyMode = False 'nimmt das kopieren zurück
MsgBox "Die Werte wurden erfolgreich kopiert." 'Info
End Sub

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

Betreff
Datum
Anwender
Anzeige
AW: ohne select
11.01.2014 16:04:44
hary
Moin Fred
Ungetestet. Probier mal so.
Sub Kopieren()
With Sheets("Ausgabeliste")
Selection.Copy
.Cells(.Cells(.Rows.Count, 1).End(xlUp).Row + 1, 1).PasteSpecial Paste:=xlPasteValues
End With
Application.CutCopyMode = False 'nimmt das kopieren zurück
MsgBox "Die Werte wurden erfolgreich kopiert." 'Info
End Sub

gruss hary

AW: ohne select
11.01.2014 16:15:21
rieckmann
Hallo Hary,
danke dir für deine Hilfe.
Nun behakt es sich mit diesen Code der beim öffnen des Blattes ausgelöst, aber sonst wichtig ist.
Kann man nicht erst diesen Code durchlaufen lassen und danach greift dann deiner beim zurücksprung ?
Gruß
Fred
Private Sub Worksheet_Activate()
ActiveSheet.UsedRange.Offset(1).EntireRow.AutoFit
Range("A2").Select
End Sub

Anzeige
AW: ohne select
11.01.2014 16:24:02
rieckmann
Habe das wohl schlecht erklärt !
Das klappt so weit sehr gut,
nur durch das
Private Sub Worksheet_Activate()
ActiveSheet.UsedRange.Offset(1).EntireRow.AutoFit
Range("A2").Select
End Sub
landet man beim zurücksprung ja auf der Zelle A2 und nicht auf der zuvor markiert und kopierten Zeile.
Kann man das irgendwie trennen ?
Also wenn ich eine Zeile mit dein Makro kopiert haben möchte, soll er wieder zurück auf die zuvor markierte Zeile.
Wenn ich aber von einen anderen Vorgang das Tabellenblatt öffne, soll er halt auf A2 springen.
Ich hoffe dass ich mich jetzt verständlicher ausgedrückt habe.
Gruß
Fred

Anzeige
AW: ohne select
11.01.2014 16:35:18
hary
Moin
"von einen anderen Vorgang das Tabellenblatt öffne"
Welches? Das wo du hin kopiert hast(Ausgabeliste) oder wo du herkommst.
gruss hary

AW: Nu, hab ich es..
11.01.2014 16:50:57
hary
Moin Fred
..verstanden.
In ein Modul
Option Explicit
Public a As Boolean 'Pruefvariable
Sub Kopieren()
a = True 'bei ausfuehren des Makros auf True setzten
With Sheets("Ausgabeliste")
Selection.Copy
.Cells(.Cells(.Rows.Count, 1).End(xlUp).Row + 1, 1).PasteSpecial Paste:=xlPasteValues
End With
Application.CutCopyMode = False 'nimmt das kopieren zurück
MsgBox "Die Werte wurden erfolgreich kopiert." 'Info
End Sub

In den Code des Blattes
Private Sub Worksheet_Activate()
If a = False Then 'wenn Pruefvariable False dann
Range("A2").Select
Else              'sonst Pruefvariable(im Moment noch True) auf False setzen
a = False
End If
End Sub

gruss hary

Anzeige
AW: ohne select
11.01.2014 17:05:30
rieckmann
Hallo Hary,
Suuuuuper !
Genau so.
Ich danke die vielmals und wünsche noch ein schönes Wochenende.
Gruß
Fred

AW: ebenso gruss owT.
11.01.2014 17:07:37
hary
.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige