Löschen aller Namen bis auf wenige (Microsoft Excel)
Arbeiten Sie routinemäßig mit Arbeitsblättern, die Dutzende (oder Hunderte)
enthalten? von benannten Zellen, und die meisten dieser Namen sind unnötig? Das Bereinigen der Namen ist eine große Aufgabe, aber wenn Sie die nicht benötigten Namen entfernen, kann Ihre Arbeitsmappe kleiner und effizienter werden. Das Problem ist, wie können Sie viele unnötige Namen auf einmal loswerden? Sie können sie sicherlich einzeln löschen, aber ein solcher Vorgang wird schnell mühsam.
Eine mögliche Lösung besteht darin, einfach eine neue Arbeitsmappe zu erstellen und die Zellen aus der alten Arbeitsmappe in die neue zu kopieren. Markieren Sie die Zellen in der alten Arbeitsmappe, kopieren Sie sie mit Strg + C und fügen Sie sie dann in die Arbeitsblätter der neuen Arbeitsmappe ein. Dadurch wird fast alles aus der alten Arbeitsmappe kopiert – Formeln, Formatierungen usw. Es wird keine Kopie über Druckeinstellungen oder Bereichsnamen erstellt. Die einzige verbleibende Aufgabe besteht darin, die wenigen Namen, die Sie in der neuen Arbeitsmappe haben möchten, neu zu definieren.
Wenn Sie lieber mit der alten Arbeitsmappe (der mit allen Namen) arbeiten möchten, erstellen Sie am besten ein Makro, das das Löschen des Namens für Sie übernimmt. Sie benötigen ein Makro, mit dem Sie alle Namen außer denen löschen können, die Sie behalten möchten. Das Folgende ist ein einfacher Ansatz, der diese Aufgabe erfüllt:
Sub DeleteSomeNames() Dim vKeep Dim nm As Name Dim x As Integer Dim AWF As WorksheetFunction 'Add Names to keep here vKeep = Array("Name1", "Name2") Set AWF = Application.WorksheetFunction For Each nm In ActiveWorkbook.Names x = 0 On Error Resume Next x = AWF.Match(nm.Name, vKeep, 0) On Error GoTo 0 If x = 0 Then nm.Delete End If Next Set AWF = Nothing End Sub
Ändern Sie vor der Verwendung des Makros die Zeile, mit der das vKeep-Array erstellt wird.
Geben Sie einfach die Namen ein, die Sie im Array behalten möchten. Jeder Name ist von Anführungszeichen umgeben und durch Kommas getrennt. (In dem hier gezeigten Beispiel werden die Namen „Name1“ und „Name2“ beibehalten.) Das Makro durchläuft alle Namen in der Arbeitsmappe und verwendet die Match-Funktion, um festzustellen, ob der Name einer im Array ist. Ist dies nicht der Fall, wird es gelöscht.
Wenn Sie die Verwaltung der Namen in Ihrer Arbeitsmappe lieber mit einer Drittanbieterlösung verwalten möchten, ist das von Jan Karel Pieterse geschriebene Namensmanager-Add-In eine gute Wahl. Weitere Informationen zum Add-In finden Sie hier:
http://www.jkp-ads.com/officemarketplacenm-en.asp
_Hinweis: _
Wenn Sie wissen möchten, wie die auf dieser Seite (oder auf einer anderen Seite der ExcelTips-Websites) beschriebenen Makros verwendet werden, habe ich eine spezielle Seite vorbereitet, die hilfreiche Informationen enthält.
ExcelTips ist Ihre Quelle für kostengünstige Microsoft Excel-Schulungen.
Dieser Tipp (2419) gilt für Microsoft Excel 97, 2000, 2002 und 2003. Eine Version dieses Tipps für die Multifunktionsleistenschnittstelle von Excel (Excel 2007 und höher) finden Sie hier: