Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

Namensverwendung und VBA

    Betrifft: Namensverwendung und VBA von: Martina
    Geschrieben am: 26.08.2003 09:54:20

    Hallo,
    ich habe in einer Arbeitsmappe A mit mehreren Blättern jeweils in der 1. Zeile Texte stehen, die den Namen (Zellbezügen) in einer anderen Arbeitsmappe B entsprechen. Allerdings stehen in der 1. Zeile zum Teil auch Texte, die keinem Namen in Arbeitsmappe B entsprechen.

    Ich möchte nun den Namensbezug der Arbeitsmappe B als Range-Object wissen, damit ich dort die Zellwerte ändern kann.

    Irgendwie stehe ich im Moment auf dem Schlauch. Vielleicht könnt Ihr mir weiterhelfen.

    Vielen Dank,
    Martina

      


    Betrifft: AW: Namensverwendung und VBA von: Nike
    Geschrieben am: 26.08.2003 09:59:58

    Hi,
    ich verstehe (noch) nicht ganz, was du machen möchtest.
    Möchtest du nen Range Bereich in Tabelle B über den Namen ansprechen?
    range(Bereichsname).select
    oder möchtest du dir die Namen anzeigen lassen
    Sub testnam()
    Dim nam As Name
    i = 1
    For Each nam In Worksheets("b").Names
    Cells(i, 1) = nam.AddressLocal
    Cells(i, 2) = nam.Name
    i = i + 1
    Next
    End Sub
    


    Bye

    Nike


      


    Betrifft: AW: Namensverwendung und VBA von: Martina
    Geschrieben am: 26.08.2003 10:07:01

    Hi,
    ich möchte den Range Bereich in Tabelle B ansprechen. Damit das Programm dann anständig weiterläuft, muss ich die entsprechend Zelle in Arbeitsmappe B aktivieren (ActiveCell).
    Schon mal vielen Dank,
    werde den Code dann ausprobieren.


      


    Betrifft: AW: Namensverwendung und VBA von: Nike
    Geschrieben am: 26.08.2003 10:14:35

    Hi,
    aktivieren mußt du nicht zwangsläufig (z.B. wenn du kein Select verwendest),
    aber da müßte man mal deinen Code sehen,
    dann könnte man da ggf auch nen Verbesserungsvorschlag machen ;-)

    Bye

    Nike


      


    Betrifft: AW: Namensverwendung und VBA von: Martina
    Geschrieben am: 26.08.2003 14:01:15

    Hi,
    das hängt damit zusammen, dass ich eine Prozedur verwende, die auch dann eingesetzt wird, wenn der Bediener einen Wert ändern will. Deshalb die active Zelle.
    Ciao
    Martina


      


    Betrifft: Namensrange einer Mappe von: sergiesam
    Geschrieben am: 26.08.2003 10:01:00

    Hi,

    du könntest natürlich einfach alle Texte der 1. Zeile durchlaufen und sollte kein name gefunden werden, ignorier einfach den Fehler mit On error Goto ...

    Solltest du den Range aller Namenszellen wissen, kannst du das verwenden:
    Sub NamensRange()
      Dim n As Name, c As Range
      For Each n In ActiveWorkbook.Names
        If c Is Nothing Then
          Set c = Range(n.RefersTo)
        Else
          Set c = Union(c, Range(n.RefersTo))
        End If
      Next n
      MsgBox c.Address
    End Sub
    



    Grüße aus Linz,
    Sam