Names in einem bestimmten Bereich löschen.

Moderator: ModerationP

Names in einem bestimmten Bereich löschen.

Beitragvon Padi » 17. Apr 2019, 15:10

Hallo,

ich möchte nur die vergebenen Names in z.B. Spalte B wieder löschen:

Code: Alles auswählen
Dim VarName as Name
For Each VarName In Tabelle1.Columns("B").Names
        VarName.Delete
    Next VarName


Das funktioniert leider nicht!

Wenn ich nur die Tabelle1 angebe dann funktioniert es:
Code: Alles auswählen
Dim VarName as Name
For Each VarName In Tabelle1.Names
        VarName.Delete
    Next VarName


Könnt Ihr mir bitte weiterhelfen ?
Padi
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 27
Registriert: 13. Feb 2016, 15:56

Re: Names in einem bestimmten Bereich löschen.

Beitragvon slowboarder » 17. Apr 2019, 15:28

HI
die schleife muss über alle Namen laufen.
dann prüfst du deren Zellbezug:

if varName.ReferstoRange.column = 2 and varName.ReferstoRange.columns.count = 1 then varName.delete

löscht dann alle Namen, deren Zellbezug sich nur auf die Spalte B bezieht.

Gruß Daniel
slowboarder
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 25370
Registriert: 18. Apr 2009, 13:33

Re: Names in einem bestimmten Bereich löschen.

Beitragvon Padi » 17. Apr 2019, 19:12

Hi Daniel,

wow - Hut ab !
Hat wie gewünscht funktioniert.

Leider verstehe ich den Code nicht so recht.
Könntest Du mir bitte Deine Codezeile genauer erklären?

Der erste Teil besagt:
"Wenn sich der benannte Bereich auf die Range mit dem Umfang "Spalte 2" bezieht und..."
Tja und... - im zweiten Teil beists dann aus. Wieso werden hier Spalten gezählt?

Wäre echt nett von Dir.
Danke und schöne Grüße von
Padi
Padi
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 27
Registriert: 13. Feb 2016, 15:56

Re: Names in einem bestimmten Bereich löschen.

Beitragvon slowboarder » 17. Apr 2019, 19:18

.columns ergibt die Nummer der Spalte der oberen linke Zelle des Zellbereichs.
.Columns.Count ergibt die Anzahl der Spalten des Zellbereichs.

dh der Zellbereich B1:B10 beginnt in Spalte 2 und ist eine Spalte breit, dieser wird gelöscht
der Zellbereich B1:C10 beginnt auch in Spalte 2, ist aber zwei Spalten breit, weil er sich noch über Spalte C erstreckt.
mit der zweiten abfrage .Columns.Count = 1 wird dann verhindert, dass dieser Zellbereich gelöscht wird.

somit werden nur Zellbereiche gelöscht, die sich ausschließlich auf Spalte B beziehen.

Gruß Daniel
slowboarder
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 25370
Registriert: 18. Apr 2009, 13:33

Re: Names in einem bestimmten Bereich löschen.

Beitragvon Padi » 17. Apr 2019, 22:16

Ahh, vielen Dank.
Eigentlich logisch. - Wäre aber nie darauf gekommen.

Nochmals Vielen Dank!
Padi
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 27
Registriert: 13. Feb 2016, 15:56


Zurück zu Excel Forum (provisorisch)

Wer ist online?

Mitglieder in diesem Forum: Hajo_Zi, russian-dima, TommyDerWalker und 3 Gäste