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

bei Blattkopie Abfrage nach Namen?

bei Blattkopie Abfrage nach Namen?
18.09.2014 10:40:32
u_hoernchen
Ich versuche mal ein seltsames Problem zu beschreiben:
ich möchte ein Blatt in einer Arbeitsmappe kopieren, und erhalte dann eine Abfrage, ob ich bereits im Zielarbeitsblatt vorhandene Namen weiterverwenden will.
Das nervt, zumal ich über den Namensmanager diese Namen alle nicht finde.
Wo könnte ich den noch suchen und die Namen löschen?
danke
ulrike

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: bei Blattkopie Abfrage nach Namen?
18.09.2014 10:43:35
Hajo_Zi
Hallo Ulrike,
Register Formeln, Befehlsgruppe Definierte Namen, Namensmanager.

AW: bei Blattkopie Abfrage nach Namen?
18.09.2014 10:48:40
u_hoernchen
Da hab ich geschaut (s.o.), aber da tauchen diese Namen nicht auf.
Dennoch danke
Ulrike

AW: bei Blattkopie Abfrage nach Namen?
18.09.2014 10:58:06
Hajo_Zi
Hallo Ulrike,
hen um welche Namen es geht.
Du hast nicht zufällig Namen ausgeblendet?
Range("Test").Name.Visible = False
Gruß Hajo

AW: bei Blattkopie Abfrage nach Namen?
18.09.2014 11:01:52
u_hoernchen
so ganz schräge:
"xc"
"SAPFundF4Help"
"sew"
"sss"
"wefr"
?

Anzeige
AW: bei Blattkopie Abfrage nach Namen?
18.09.2014 11:03:45
Hajo_Zi
gut warten wir dann bis auch der zweite Teil beantwortet ist.
Gruß Hajo

AW: bei Blattkopie Abfrage nach Namen?
18.09.2014 11:20:03
u_hoernchen
Der Code funktioniert bei mir nicht (objektdefinierter Fehler),
aber da ich noch nie die Idee hatte, einen Namen auszublenden, gehe ich mal davon aus, dass ich keine Namen ausgeblendet habe..
Ulrike

AW: bei Blattkopie Abfrage nach Namen?
18.09.2014 11:23:28
Hajo_Zi
Hallo Ulrike,
dann gibt es bei Dir keinen Bereich "Test".
Kein weiteren Ansatz.

AW: bei Blattkopie Abfrage nach Namen?
18.09.2014 11:24:34
u_hoernchen
danke trotzdem!
Ulrike

Anzeige
AW: Infos zu Name(n), Name(n) löschen
19.09.2014 15:51:35
fcs
Hallo Ulrike,
das von dir beschriebenen Phänomen tritt eigentlich nicht auf, wenn komplette Tabellenblätter kopiert werden, sondern wenn ein Zellbereiche mit Namen in Formeln in eine andere Arbeitsmappe kopiert wird, die bereits identischen Namen enthält.
Nachfolgend zwei Makros, mit denen du Informationen zu den Namen in einer Arbeitsmappe auflisten lassen kannst bzw. zum Löschen von Namen (inkl. unsichtbarer Namen).
Gruß
Franz
Die Makros kopierst du am besten in ein allgemeines Modul deiner persönlichen Makro-Arbeitsmappe.
'##################################
Sub Namen_Listen_extern()
Call Namen_in_Arbeitsmappe_listen(wkb:=ActiveWorkbook, bName:=True, bVisible:=True, _
bRefersToLocalR1C1:=True, bParent:=True)
End Sub
Sub Namen_in_Arbeitsmappe_listen(Optional wkb As Workbook, _
Optional bName As Boolean, _
Optional bNameLocal As Boolean = True, _
Optional bRefersToLocal As Boolean = True, _
Optional bRefersToLocalR1C1 As Boolean, _
Optional bVisible As Boolean, _
Optional bParent As Boolean, _
Optional wks As Worksheet) 'wks = Zieltabelle für Informationen zu Namen
'Alle Namen der Arbeitsmappe werden mit Informationen in einem Tabellenblatt _
gelistet - über die Boolschen Werte wird festgelegt welche Informationen in der _
Liste ausgegeben werden.
Dim objName As Name, wbZiel As Workbook
Dim Z As Long, s As Long
On Error GoTo Fehler
If wkb Is Nothing Then Set wkb = ActiveWorkbook
If wkb.Names.Count > 0 Then
'ggf. neue Arbeitsmappe für Namens-Liste anlegen
If wks Is Nothing Then
Set wbZiel = Workbooks.Add(Template:=xlWBATWorksheet)
Set wks = wbZiel.Worksheets(1)
End If
With wks
Z = Z + 1
.Cells(Z, 1).Value = "Liste der Namen in Datei"
.Cells(Z, 2).Value = Now
Z = Z + 1
.Cells(Z, 1).Value = wkb.Name
'Spaltentitel
Z = Z + 2
s = 0
If bName Then s = s + 1: .Cells(Z, s).Value = "Name"
If bNameLocal Then s = s + 1: .Cells(Z, s).Value = "Name Local"
If bRefersToLocal Then s = s + 1: .Cells(Z, s).Value = "Refers to Local"
If bRefersToLocalR1C1 Then s = s + 1: .Cells(Z, s).Value = "Refers to R1C1Local"
If bVisible Then s = s + 1: .Cells(Z, s).Value = "Visible"
If bParent Then s = s + 1: .Cells(Z, s).Value = "Parent"
Cells(Z + 1, 2).Select
Application.ActiveWindow.FreezePanes = True
End With
For Each objName In wkb.Names
Z = Z + 1
s = 0
With objName
If bName Then s = s + 1: wks.Cells(Z, s).Value = "'" & .Name
If bNameLocal Then s = s + 1: wks.Cells(Z, s).Value = "'" & .NameLocal
If bRefersToLocal Then s = s + 1: wks.Cells(Z, s).Value = "'" & .RefersToLocal
If bRefersToLocalR1C1 Then s = s + 1: wks.Cells(Z, s).Value = "'" & .RefersToR1C1Local
If bVisible Then s = s + 1: wks.Cells(Z, s).Value = .Visible
If bParent Then s = s + 1: wks.Cells(Z, s).Value = "'" & .Parent.Name
End With
Next
wks.Range(wks.Columns(1), wks.Columns(s)).AutoFit
Else
MsgBox " Keine Namen in aktiver Datei definiert."
End If
Fehler:
With Err
Select Case .Number
Case 0 'alles OK
Case 91
MsgBox "Fehler-Nr.: " & .Number & vbLf & .Description & vbLf & vbLf _
& "Es ist keine Arbeitsmappe aktiv"
Case Else
MsgBox "Fehler-Nr.: " & .Number & vbLf & .Description
End Select
End With
End Sub
Sub Namen_loschen()
Call Namen_in_Arbeitsmappe_loeschen(wkb:=ActiveWorkbook, bolConfirm:=True)
End Sub
Sub Namen_in_Arbeitsmappe_loeschen(Optional wkb As Workbook, _
Optional bolConfirm As Boolean = True)
'Namen in der Arbeitsmappe löschen
Dim objName As Name, strMsg As String, bolLoeschen As Long
On Error GoTo Fehler
If wkb Is Nothing Then Set wkb = ActiveWorkbook
If wkb.Names.Count > 0 Then
'ggf. neue Arbeitsmappe für Namens-Liste anlegen
For Each objName In wkb.Names
With objName
If Left(.Name, 6) = "_xlfn." Then
'Name nicht löschen - Sytemname für neue Funktionen, wenn im Altformat gespeichert  _
wird
ElseIf InStr(1, .Name, "!_FilterDatabase") > 0 _
Or InStr(1, .Name, "!Criteria") > 0 _
Or InStr(1, .Name, "!Extract") > 0 Then
'Filter-Datenbereich, Kriterien und Zielbereich nicht löschen
ElseIf InStr(1, .Name, "!Print_Area") > 0 Then
'Druckbereich nicht löschen
ElseIf InStr(1, .Name, "!Print_Titles") > 0 Then
'Drucktitel nicht löschen
Else
If bolConfirm = True Then
strMsg = "Name: " & .Name
strMsg = strMsg & vbLf & "NameLocal: " & .NameLocal
strMsg = strMsg & vbLf & "RefersToLocal: " & .RefersToLocal
strMsg = strMsg & vbLf & "Sichtbar: " & .Visible
strMsg = strMsg & vbLf & "Parent-Name: " & .Parent.Name
bolLoeschen = MsgBox(strMsg, vbQuestion + vbYesNoCancel, "Name-Löschen")
Else
bolLoeschen = vbYes
End If
Select Case bolLoeschen
Case vbYes
Application.DisplayAlerts = False
.Delete
Application.DisplayAlerts = True
Case vbNo
Case vbCancel
Exit For
End Select
End If
End With
Next
Else
MsgBox " Keine Namen in aktiver Datei definiert."
End If
Fehler:
With Err
Select Case .Number
Case 0 'alles OK
Case 91
MsgBox "Fehler-Nr.: " & .Number & vbLf & .Description & vbLf & vbLf _
& "Es ist keine Arbeitsmappe aktiv"
Case Else
MsgBox "Fehler-Nr.: " & .Number & vbLf & .Description
End Select
End With
End Sub

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige