Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1728to1732
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 in allen Arbeitsblättern ausführen?

Makro in allen Arbeitsblättern ausführen?
31.12.2019 15:30:58
Sergej
Hallo Leute,
ich möchte das Makro "Zellname" in allen Arbeitsblättern (Ausnahme: Arbeitsblätter, die mit "Massbild" in Namenhaben) ausführen.
Dazu habe ich mir das Makro "All_Sheets" erstellt. Leider werden die Zellnamen nicht in allen Arbeitsblättern eingetragen. Liegt das evtl. an der Verwendung von ActiveCell?
Sub All_Sheets()
Dim xSh As Worksheet
Application.ScreenUpdating = False
For Each xSh In Worksheets
If Not xSh.Name Like "*Massbild*" Then
xSh.Select
Call Zellname
End If
Next
Application.ScreenUpdating = True
End Sub

Sub Zellname()
Range("PRJNR).Offset(1, 0).Select
ActiveCell.Name = "PRJ"
ActiveCell.Offset(1, 0).Select
ActiveCell.Name = "Ort"
ActiveCell.Offset(1, 0).Select
ActiveCell.Name = "Strasse"
ActiveCell.Offset(1, 0).Select
ActiveCell.Name = "Kunde"
ActiveCell.Offset(1, 0).Select
ActiveCell.Name = "Datum"
ActiveCell.Offset(1, 0).Select
ActiveCell.Name = "Abteilung"
ActiveCell.Offset(1, 0).Select
ActiveCell.Name = "Kundennummer"
End Sub

Beste Grüße,
Sergej

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Evtl. Konflikt mit nicht-lokalen Namen?
31.12.2019 15:35:52
lupo1
Standardvergabe von Namen erfolgt global, denke ich.
Ich habe da bei Daniel abgeschrieben ...
31.12.2019 17:36:20
lupo1
... sorry für's Nicht-drauf-hinweisen.
Also ich kann da keine Gemeinsamkeit
31.12.2019 18:04:24
Daniel
Zwischen deinem und meinem Beitrag erkennen.
Aber ehrlich gesagt, ich habe auch nicht verstanden, was du uns sagen wollest.
Frohes Neues
So schwierig war das nicht ...
01.01.2020 12:03:04
lupo1
... mit der Unterscheidung von lokalen und globalen Namen, denn im Dialog der Namensdefinition sieht man das.
Also nochmals sorry, dass ich ich so nah vor Dir herfuhr und nicht Platz machte, damit Du weiterhin zitierfrei durchkommst.
AW: So schwierig war das nicht ...
01.01.2020 13:00:46
Daniel
Lokal, globlal, scheißegal
Keiner der beiden Begriffe kommt im Namensmanager.
Warum sollte ich dich zitieren, wenn ich was anderes schreibe als du?
Wenn du angepisst bist, dass der Fragesteller meine Antwort bevorzugt und nicht deine, solltest du mal deine Art und weise zu antworten über denken und daran arbeiten.
Nur so als Tip fürs neue Jahr.
Frohes Neues Daniel
Anzeige
Ich kann es wirklich nur wiederholen:
01.01.2020 17:09:59
lupo1
Du hast sicherlich die längere, einfachere, exaktere und schönere Antwort gegeben.
Mir tut es also ganz fürchterlich leid, dass ich mit meiner hässlichen Antwort, die keiner versteht, so nah vor Dir, aber doch im Wahrnehmungsabstand, dahergeschwommen bin.
Dir passiert so viel Unrecht, Daniel!
Kein Problem
01.01.2020 17:54:17
Daniel
Entschuldigung akzeptiert.
Gruß Daniel
AW: Makro in allen Arbeitsblättern ausführen?
31.12.2019 15:39:46
Hajo_Zi
Hallo Serhewj,
Zu Deiner Datei kann ich nichts schreiben, was wohl daran liegt das ich nicht auf fremde Rechner schaue.Ich baue keine Datei nach.
Sollte die Datei verlinkt werden?
Das ist nur meine Meinung zu dem Thema.
Option Explicit
Sub All_Sheets()
Dim xSh As Worksheet
Application.ScreenUpdating = False
For Each xSh In Worksheets
If Not xSh.Name Like "*Massbild*" Then
Call xSh
End If
Next
Application.ScreenUpdating = True
End Sub
Sub Zellname(wsTabelle As Worksheet)
With wsTabelle.Range("PRJNR")
.Offset(1, 0).Name = "PRJ"
.Offset(2, 0).Name = "Ort"
.Offset(3, 0).Name = "Strasse"
.Offset(4, 0).Name = "Kunde"
.Offset(5, 0).Name = "Datum"
.Offset(6, 0).Name = "Abteilung"
.Offset(7, 0).Name = "Kundennummer"
End With
End Sub

Anzeige
AW: Makro in allen Arbeitsblättern ausführen?
31.12.2019 16:54:21
Sergej
Hallo Hanno,
deine copy / paste Kommentare sind einfach langweilig! Das ist nur meine Meinung zu dem Thema.
AW: Makro in allen Arbeitsblättern ausführen?
31.12.2019 16:08:58
Daniel
hi
es gibt in Excel zwei Gruppen von Namen:
a) gültig für die ganze Mappe
b) gültig für das jeweilige Tabellenblatt
Jeder Name kann in seinem Gültigkeitsbereich immer nur einmal vorkommen und wird, wenn er mehrfach erstellt wird, überschrieben und du siehst immer nur die letzte Definition.
Die von dir verwendete Methode erzeugt Namen der Gruppe a)
Du brauchst aber Gruppe b), da du die gleichen Namen auf mehreren Blättern verwenden willst.
Daher musst du die Namen so erstellen:
ActiveSheet.Names.Add "Ort", refersto:=activecell
Frohes Neues
Daniel
Anzeige
AW: Makro in allen Arbeitsblättern ausführen?
31.12.2019 16:52:44
Sergej
Hallo Daniel,
herzlichen Dank! Es funktioniert perfekt.
Beste Grüße und auch ein frohes Neues Jahr.
Sergej

309 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige