Microsoft Excel

Herbers Excel/VBA-Archiv

Name automatisch definieren

Betrifft: Name automatisch definieren von: Simone
Geschrieben am: 12.08.2004 11:21:12

Hallo,

ich hoffe ihr könnt mir helfen. Ich habe folgendes Problem. Ich möchte über ein Macro einen Bereich Definieren. Name des Bereichs ist "ItemStructure". Ich möchte das übers Makro automatisieren, weil die Anzahl der Zeilen im Bereich (Spalte A & B) variabel ist. Nun kann ich beim festlegen der Structure für die Zeilenanzahl nur einen festen Wert angeben. Wißt ihr einen Rat, wie ich meine Variable Anzlines in der Structure einbringen kann? Unten seht ihr das Macro, soweit ich es aufzeichnen konnte:

Gruß
Simone

Sub Macro1()
'
' Macro1 Macro
' Macro recorded 12.08.2004 by wfsb386
'
    Dim Anzlines As Integer
    
    Anzlines = ActiveSheet.UsedRange.Rows.Count
    
    ActiveWorkbook.Names("ItemStructure").Delete
    Range("A1:B" & Anzlines).Select
    ActiveWorkbook.Names.Add Name:="ItemStructure", RefersToR1C1:= _
        "=Structure!R1C1:R158C2"
End Sub

  


Betrifft: AW: Name automatisch definieren von: Andreas Walter
Geschrieben am: 12.08.2004 11:23:51

Kling für mich, als ob Du folgendes brauchst
Dim Anzlines As Integer

Anzlines = ActiveSheet.UsedRange.Rows.Count

ActiveWorkbook.Names("ItemStructure").Delete
Range("A1:B" & Anzlines).Select
ActiveWorkbook.Names.Add Name:="ItemStructure", RefersToR1C1:= _
"=Structure!R1C1:R" & Anzlines & "C2"


  


Betrifft: AW: Name automatisch definieren von: Simone
Geschrieben am: 12.08.2004 12:10:54

Hallo Andreas,

vielen Dank für Deine Lösung. Merkwürdig, genauso hatte ich es mir auch gedacht, aber als ich es eingegeben habe, bekam ich eine Fehlermeldung. Dann habe ich Dein Beispiel reinkopiert, et voila! es funktioniert! Mußte da irgendwas übersehen haben .... aber jetzt klappt es ja ;-))

Gruß
Simone


  


Betrifft: AW: Name automatisch definieren von: Dr.
Geschrieben am: 12.08.2004 11:24:10

Indem Du die UsedRange auch in eine Variable legst, auf die Du Dich dann bei der Namensvergabe referenzierst:

Variable = ActiveSheet.UsedRange.Address

Aber: Vorsicht beim Umgang mit der UsedRange ;-)


  


Betrifft: AW: Name automatisch definieren von: Simone
Geschrieben am: 12.08.2004 12:14:24

Hallo Dr.,

vielen Dank für Deine Antwort. Ich habe versucht die Formel einzubauen, aber ich bekommen eine Fehlermeldung. Den Bereich hat er jedenfalls richtig erkannt.Kannst Du mir nochmal helfen, die Funktion in mein Makro einzubauen? So sieht mein vergeblicher Versuch aus ...

Sub Macro1()
'
' Macro1 Macro
' Macro recorded 12.08.2004 by wfsb386
'
    Dim Anzlines As Integer
    Dim Variable As String
    
    
'    Anzlines = ActiveSheet.UsedRange.Rows.Count
    Variable = ActiveSheet.UsedRange.Address
    
'    Range("A1:B" & Anzlines).Select
    ActiveWorkbook.Names.Add Name:="ItemStructure", RefersToR1C1:= _
        "=Structure!" & Variable
End Sub



 

Beiträge aus den Excel-Beispielen zum Thema "Name automatisch definieren"