1.8k Aufrufe
Gefragt in Tabellenkalkulation von
Hallo,

ich möchte gerne ein Makro erstellen, das folgendes ausführt:

1.) Bereich (in diesem Beispiel: A10:P106) des aktuellen Tabellenblattes kopieren
2.) im Tab davor den Bereich an die gleiche Stelle einfügen (A10)
3.) Das ursprüngliche Tab löschen
4.) dem Tab, in welchenes der Text eingefügt wurde, den Namen geben, der
in Zelle "K10" steht.

Ende

Habe dies zwar per Recorder aufzeichnen können, aber dann funktioniert es natürlich immer nur mit exakt dem gleichen Tab....

Hat jemand eine Idee, wei man das elegant per Makro lösen kann?

Im Voraus vielen Dank

Clemens

7 Antworten

0 Punkte
Beantwortet von saarbauer Profi (15.6k Punkte)
Hallo,

stell mal ddas aufgezeichnete Makro hier ein, dann müssen wir nicht selber uns das Makro bauen.

Gruß

Helmut
0 Punkte
Beantwortet von
Hallo,

hier das Makro, das allerdings eben leider nur mit genau diesem tab funktioniert....



bereich_kopieren Makro
' Inhalt von aktuellem Tab in das links davon befindliche verschieben
'

'
Range("B10:P105").Select
Selection.Copy
ActiveSheet.Select
Range("B10").Select
ActiveSheet.Paste
ActiveSheet.Select
Application.CutCopyMode = False
ActiveWindow.SelectedSheets.Delete
Sheets("STEINBRUNNER (2)").Select
Sheets("STEINBRUNNER (2)").Name = "STEINBRUNNER (2)"
Range("K10").Select
Selection.Copy
Sheets("STEINBRUNNER (2)").Select
Sheets("STEINBRUNNER (2)").Name = "Eugen Scharifow"
Range("J103").Select
End Sub
0 Punkte
Beantwortet von saarbauer Profi (15.6k Punkte)
Hallo,

ungetestet, versuch es mal damit:


Sub bereich_kopieren 'Makro

' Inhalt von aktuellem Tab in das links davon befindliche verschieben
'
Range("B10:P105").Select
Selection.Copy
Tabelle = ActiveSheet.Index
Sheet(Tabelle-1).Select
Range("B10").Select
ActiveSheet.Paste
Application.CutCopyMode = False
Sheets(Tabelle).Delete
Sheet(Tabelle-1).Select
ActiveSheet.Name = Range("K10").Value
Range("J103").Select
End Sub

Gruß

Helmut
0 Punkte
Beantwortet von
Zunächst vielen Dank für die schnelle Antwort:

es kommt folgende Nachricht:

"Fehler beim Kompilieren"

Das Makro wird wie folgt markiert:

Sheet(Tabelle - 1)


Viele Grüße

Clemens
0 Punkte
Beantwortet von nighty Experte (6.6k Punkte)
hi all ^^

wie gewünscht

gruss nighty

Sub Selection_kopie()
Application.DisplayAlerts = False
Selection.Copy Worksheets(ActiveSheet.Index - 1).Range(ActiveCell.Address)
ActiveSheet.Delete
Worksheets(ActiveSheet.Index - 1).Activate
Worksheets(ActiveSheet.Index).Name = Worksheets(ActiveSheet.Index).Range("K10")
Application.DisplayAlerts = True
End Sub
0 Punkte
Beantwortet von nighty Experte (6.6k Punkte)
hi all ^^

besser so :-)

gruss nighty

Sub Selection_kopie()
Application.DisplayAlerts = False
Selection.Copy Worksheets(ActiveSheet.Index - 1).Range(ActiveCell.Address)
Worksheets(ActiveSheet.Index - 1).Name = Worksheets(ActiveSheet.Index - 1).Range("K10")
ActiveSheet.Delete
Application.DisplayAlerts = True
End Sub
0 Punkte
Beantwortet von
Hallo,

sorry für die späte Reaktion.
War am Wochenende der "Erkältungswelle" zum Opfer gefallen.

Vielen Dank für die prompte Lösung. War super

Gruß

Clemens
...