Variablen/ Umbenennung in VBA (Excel)

MagicMatze

Mitglied
Hallo,

ich hab kurz die Suchfunktion genutzt aber nichts passendes gleich gefunden (sry letzter Tag vom Praktikum und nochma Sonderwunsch vom Chef plötzlich^^)

Folgendes Problem:

Mein Makro kopiert in 1 Tabellenblatt von Excel einen Wert und überträgt ihn in ein anderes Tabellenblatt. Nun ändert sich der Tabellenblattname. Ich möchte also möglichst einfach bestimmen, dass das Makro nun für den alten Namen den neuen einsetzen soll.

Hier mal ein Beispiel:

Dim Stückliste As String
Stückliste = 791630

Range("C2").Select
Selection.Copy
Sheets("Stückliste").Select
Range("E9").Select
ActiveSheet.Paste
Sheets("Matrix").Select
Range("B3").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Stückliste").Select
Range("E8").Select
ActiveSheet.Paste
ActiveWindow.SmallScroll ToRight:=11
Range("S35").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Matrix").Select
Range("C3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

---

statt Stückliste soll das Makro nun die Zahl 791630 einsetzen.

Ich hoffe ihr könnt mir helfen.

MfG Matze

P.S. Es is wahrscheinlich sehr schlechter VBA Code, da ich das Makro mit der "Record"-Funktion erstellt hab, aber dieser Code tut es, es ist mein letzter Tag und ich brauche nur diesen 1 Wechsel.
 
Mach es über eine Variable

Bsp:
Code:
Sub Aufruf()
    Call Funktionsname("Stückliste")
    call Funktionsname( tabellenblatt 2)
End Sub

Sub Funktionsname(stTabellenblatt)
'... dein Code
Sheets(stTabellenblatt).Select
'... dein Code
end sub

Grüsse bb
 
also ich verstehe deinen Code irgendwie nicht.

Dadurch erleichtert sich für mich die Arbeit nicht wirklich, da ich trotzdem jedesmal eine spezielle Variable eintragen muss.

Korrigiere mich wenn ich falsch liege.

Problem ist dassich später fast 3000 Zeilen Code habe und mehrere Blätter in denen ich springe.

Ich stelle mir was vor wo ich am Anfang des Cods zB schreibe

Stückliste = 791630
Stückliste 2 = 791640
usw

Ich muss also den Wert (hier 791630) leicht abändern können, da ich das Makro in vielen Dateien mit unterschiedlichsten Werten einsetzen muss. Ich bräuchte also so eine Aufzählung am Anfang wo ich den aktuellen Werten (Stückliste, Stückliste 2, usw) immer bestimmte Zahlen zuordnen kann.

Falls es mit deinem Code doch geht und ich mich irre sag bescheid aber ich habs ausprobiert und finde nicht wirklich eine Erleichterung.

MfG Matze
 
Hi!

Meinst du einfach nur umbenennen?
Code:
Stückliste = 791630
....
Sheets("Tabellenname").Name = Stückliste

EDIT Zusatz:
Erstelle ein (unsichtbares ?) Tabellenblatt und schreibe die Stücklisten untereinander
als eine Art Datenbank oder immer in einer bestimmten Zelle.

Viele Grüße,
Jacka
 
Zuletzt bearbeitet:
ich schau mir deins nochma an aber um ehrlich zu sein verstehe ichs nicht.

Ja Umbenennen würde auch gehen.

Ich möchte einfach dass er nicht mehr nach dem Sheet "Stückliste" sucht, sondern nach der von mir eingebenen Zahl, aber ohne dass ich im Code das Wort Stückliste ersetzen muss.

Sprich der Code soll bleiben wie er is nur wenn Stückliste da steht soll des Teil checken dasser zB nach 791630 suchen muss.

Meinetwegen auchn Befehl mit dem ich im gesamten Makro mit 1 Befehl Stückliste in 791630 umbenennen kann^^

MfG Matze

/edit ich probier deins schnell mal aus soweit ichs verstehe.

/edit 2 also ich krig da ne fehlermeldung^^
 
Zuletzt bearbeitet:
okay ich hab nu mit jemand anderem geredet und der meinte es wäre nicht so einfach wie ichs mir vorstelle :D

Er hat mir jedoch nen Editor gegeben wo ich einfach den Wert angebe der ersetzt werden soll und mit was er ersetzt werden soll und das funktioniert gut.

Danke für eure Mühe

MfG Matze
 
Hi!

Was denn für ein Editor?
Erzähl mal, könnte auch anderen User helfen! ;o)

Danke!
 
Zurück