Office: Bereichsnamen löschen und bearbeiten

Helfe beim Thema Bereichsnamen löschen und bearbeiten in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo zusammen, vorab: Ich bin Neuling, was VBA angeht. Ich habe früher aber eine Zeit lang in anderen Sprachen programmiert (Pascal, C, Java), so... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von CyberTim, 8. Mai 2017.

  1. Bereichsnamen löschen und bearbeiten


    Hallo zusammen,

    vorab: Ich bin Neuling, was VBA angeht. Ich habe früher aber eine Zeit lang in anderen Sprachen programmiert (Pascal, C, Java), so dass ich ein grundsätzliches Verständnis habe / haben sollte *mrcool

    Ich generiere mir aus unterschiedlichen Quellen 2 CSV-Dateien, die beide identische aufgebaut sind, aber verschiedene Inhalte haben.
    In einer Excel-Datei mit mehreren Tabellenblättern bilden Sie die Basis. Das Makro soll die Daten aktualisieren. Ich gehe dabei wiefolgt vor:
    • Beide Dateien per Application.GetOpenFilename auswählen lassen
    • Inhalt des Tabellenblatts löschen
    • Datei1 importieren
    • den dabei erstellten Namensbereich löschen
    • Datei2 importieren
    • den dabei erstellten Namensbereich löschen
    • Sortieren
    • Namensbereich, der die A2 bis A[letzteZeile] enthält bearbeiten (es könnten mehr oder weniger Einträge geworden sein)
    • Namensbereich der A2 bis [letzteSpalte][letzteZeile] enthält bearbeiten (es könnten mehr oder weniger Einträge geworden sein)

    Das funktioniert auch alles, bis auf das mit den Namensbereichen.
    Beim löschen funktioniert weder ActiveWorkbook.Names("importtemp").Delete noch
    ActiveSheet.Names("importtemp").Delete

    Wenn ich google bemühe finde ich zwar einige Leute, die das gleiche Problem haben, aber keine echte Lösung. Meist wird angeboten mit einer ForEach-Schleife alle definierten Bereiche zu löschen. Das kann ich aber nicht, da dieses Dokument viele Bereiche hat, auf die referenziert wird.

    Um das Bearbeiten eines Bereichs habe ich mich noch gar nicht gekümmert, nachdem ich nun Stunden vergeblich damit verbracht habe, Namen zu löschen.

    Kann mir jemand helfen?

    :)
     
    CyberTim, 8. Mai 2017
    #1
  2. Moin!
    Den jeweils letzten erzeugten Namen löscht Du so:
    Code:
    Gruß Ralf
     
    RPP63, 10. Mai 2017
    #2
  3. Leider nein *frown.gif*
    Laufzeitfehler '9': Index außerhalb des gültigen Bereichs
     
    CyberTim, 10. Mai 2017
    #3
  4. Bereichsnamen löschen und bearbeiten

    Hallo,

    beim "normalen" Importieren einer CSV werden keine Bereichnamen angelegt. Deshalb die FRage, wie die Namen angelegt werden.

    mfg
     
    Fennek11, 10. Mai 2017
    #4
  5. Dann hast Du halt keine Namen in der Tabelle.
    Mir wäre es allerdings auch neu, dass bei einem Textimport ein Name vergeben wird.
    Vielleicht solltest Du Deinen bisherigen Code mal einstellen.

    Gruß Ralf
     
    RPP63, 10. Mai 2017
    #5
  6. Beverly
    Beverly Erfahrener User
    Hi,

    meinst du eventuell so:

    Code:
     
    Beverly, 10. Mai 2017
    #6
  7. Zum Datei auswählen und importieren:

    Code:
    Den Code habe ich aufzeichnen lassen (wie gesagt, bin Neuling). Das tut auch, nur legt er mir halt den Namen an, auch wenn ich .name weglasse. Deswegen dachte ich, ich vergebe ihn bewusst und kann ihn dann über den Namen löschen. Allerdings musste ich nun auch feststellen, dass er bei mehrfacher Ausführung des Makros _1 _2 usw. anhängt.
    Wenn der Name beim Import gar nicht erst erzeugt werden muss, um so besser! Das wäre dann ja noch einfacher *Smilie


    Mich würde dann trotzdem noch interessieren, wie ich einen Namen über dessen Name ansprechen und löschen kann. Vielleicht brauche ich das mal an anderer Stelle.


    Der Vollständigkeit halber...
    Zum aktualisieren der Bereiche nutze ich:
    Code:
    => funzt
     
    CyberTim, 10. Mai 2017
    #7
  8. Beverly
    Beverly Erfahrener User

    Bereichsnamen löschen und bearbeiten

    Meinen Beitrag hast du schon gelesen?


    Bereichsnamen löschen und bearbeiten grusz.gif
     
    Zuletzt von einem Moderator bearbeitet: 12. Januar 2021
    Beverly, 10. Mai 2017
    #8
  9. Jetzt ja - Danke. Da hatte ich gestern an meiner Antwort wohl aber zu lange getippt.

    Leider tut das aber auch nicht.
    Ich habe namName.Delete durch MsgBox("gefunden") ersetzt. Ich erhalte keine MsgBox. Beim Vergleich haut also etwas nicht hin.

    Ist "=" bei VBA auch wirklich ein Vergleich oder eine Zuweisung?
    Oder wird für einen String-Vergleich ein anderer Operator benötigt (eq o.ä.)?
     
    CyberTim, 10. Mai 2017
    #9
  10. Beverly
    Beverly Erfahrener User
    Wenn der Name nicht gefunden wird, dann ist er entweder anders geschrieben oder einem Tabellenblatt direkt zugewiesen. Falls er dem Tabellenblatt direkt zugewiesen ist, dann wird er mit dieser Codezeile gefunden

    Code:
     
    Beverly, 10. Mai 2017
    #10
  11. Der ging gar nicht in die Schleife rein.

    Ich habe ThisWorkbook.Names durch Activeworkbook.Names ersetzt und mir die Namen in einer MsgBox ausgeben lassen. Es kommen alle.

    Der Bereichsname lautet 'ARBEITSMAPPE'!importtemp

    Ich habe es jetzt so gelöst:

    Code:
    Das hat den Vorteil, dass er die Namen auch bei mehrfacher Ausführung des Makros sauber entsorgt.

    Danke für die Unterstützung. Mich hat das ganze echt gewurmt.

    Der Neugierde halber: Wie krieg ich den Import hin, ohne dass Namen angelegt werden? Fennek11 hat da ja angedeutet, dass es nicht normal ist, dass Namen angelegt werden.
     
    CyberTim, 10. Mai 2017
    #11
  12. Beverly
    Beverly Erfahrener User
    Ob du Like oder Instr verwendest ist gleichgültig - macht im Prinzip dasselbe.

    Wenn der Code nicht in die Schleife läuft (davon hattest du bis jetzte aber nichts geschrieben und mit dem Hinweis "Leider tut das aber auch nicht" kann man schließlich nichts anfangen denn er kann alles mögliche bedeuten), dann hat die Arbeitsmappe keine Namen - ich konnte ja nicht wissen, dass du die Namen nicht in der Arbeitsmappe mit dem Code suchst sondern in einer anderen, die gerade aktiv ist.


    QueryTables legt m.W. automatisch IMMER einen Namen an.


    Bereichsnamen löschen und bearbeiten grusz.gif
     
    Beverly, 10. Mai 2017
    #12
  13. Bereichsnamen löschen und bearbeiten

    Beverly, das sollte keine Kritik an dir sein - ich bin dankbar und ziehe auch aus deinen Code-Schnipseln wertvolle Infos für mich. Ist doch wie eine Schnitzeljagd: von Hinweis zu Hinweis

    Makros versuche ich in der persönlichen Arbeitsmappe zu halten. Deswegen sind sie bei mir nicht im gleichen Dokument. Wie ich schrieb, bin ich Anfänger bzgl. Makros/VBA, weswegen ich da auch noch einige Verständnis-Probleme habe. Aber wieder was gelernt *Smilie
     
    CyberTim, 10. Mai 2017
    #13
Thema:

Bereichsnamen löschen und bearbeiten

Die Seite wird geladen...
  1. Bereichsnamen löschen und bearbeiten - Similar Threads - Bereichsnamen löschen

  2. Meinen Account löschen

    in Lob, Kritik und Verbesserungsvorschläge
    Meinen Account löschen: Hallo, da ich via Mail keine Rückmeldung erhielt versuche ich es hier nochmals. Bitte diesen Account löschen.
  3. Letzten Abschnittswechsel löschen, ohne das Dokument zu ruinieren

    in Microsoft Word Hilfe
    Letzten Abschnittswechsel löschen, ohne das Dokument zu ruinieren: Ist dieses gefühlt jahrtausendealte Ärgernis jemals gelöst worden? Laut offizieller Auskunft von Word-Guru Lisa Wilke-Thissen geht es nicht. Aber vielleicht besitzt das hiesige weltweit führende...
  4. Bereichsnamen vergeben via VBA

    in Microsoft Excel Hilfe
    Bereichsnamen vergeben via VBA: Hallo liebe Excel-Freunde *Smilie ich bin auf der Suche nach einer Möglichkeit, via VBA in Excel Bereichsnamen zu vergeben statt -Einfügen -Name - definieren 1- Name in der Arbeitsmappe:...
  5. Bereichsnamen auslesen

    in Microsoft Excel Hilfe
    Bereichsnamen auslesen: Hallo Leute, folgendes: in einer Tabelle habe ich eine Spalte mit lauter Bezeichnungen untereinander stehen (á la Umsatz, Kosten usw.). Diesen Zellen wurden jeweils Bereichsnamen (á la UMS bei...
  6. Blatt kopieren: dynamischen Diagramm - Bereichsnamen weg

    in Microsoft Excel Hilfe
    Blatt kopieren: dynamischen Diagramm - Bereichsnamen weg: Hallo Leute habe ein dynamisches Diagramm erstellt - mit lokalen Bereichsnamen (also nur für das jeweilige Arbeitsblatt gültig). Die Daten und das Diagramm sind im selben Arbeitsblatt. So weit...
  7. Excel Fragen, Bereichsnamen erweitern, Dropdown mit Makro

    in Microsoft Excel Hilfe
    Excel Fragen, Bereichsnamen erweitern, Dropdown mit Makro: Hi Leute ich habe leider einige Schwierigkeiten eine Reparaturauflistung in Excel zu erstellen. Bis jetzt habe ich schon ein Dropdown menü erstellt,in dem verschiedene Maschinen, die ich...
  8. Excel - Dynamische Bereichsnamen

    in Microsoft Excel Tutorials
    Excel - Dynamische Bereichsnamen: Hallo! Manchmal ergibt es sich in Excel, dass sich die Bereiche, in denen sich die auszuwertenden Daten befinden, (un-)regelmäßig erweitern. Dies führt speziell bei der Erstellung von...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden