Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
24.04.2024 17:19:09
Anzeige
Archiv - Navigation
1124to1128
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Namen definieren mit Makro

Namen definieren mit Makro
Thomas
Hallo!
Hätte eine Frage:
Ist es möglich, Namen per Makro definieren und automatisch ergänzen zu lassen?
In der Beispieldatei sind in den gelb markierten Feldern "Hauptkonten" angeführt.
Darunter befinden sich in den grau markierten Feldern die dazugehörigen Unterkonten.
Ich möchte nun, dass Excel automatisch eine Namensdefinition vornimmt und zwar wie folgt:
Namen gem. Eintrag im gelben Feld; im beiligenden Beispiel "Auto", steht in Zelle A4; in "bezieht sich auf" sollte der Bereich von A5 bis A13 ausgewählt werden (Bereich immer 9zeilig, beginnend mit Zeile unter dem jeweiligen Namen).
Diese Prozedur sollte für alle weiteren Zeilen (bis Zeile 112) automatisch durchgeführt werden, d. h., wenn beispielsweise neue Konten in die gelb markierten Zellen eingepflegt werden (z. B. in Zelle A26 "Geschenke"), wäre es super, wenn man dies so einrichten könnte, dass die Namen automatisch hinzugefügt werden (jeweils mit dem 9zeiligen Bezug).
Ist so etwas überhaupt möglich?
Wäre für eine Antwort sehr dankbar.
LG
Tom
https://www.herber.de/bbs/user/66831.xls

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
Dateischutz ist gesetzt ! oT
27.12.2009 21:55:56
Matthias
mit ... Worksheet_Change ...
28.12.2009 04:39:16
Matthias
Hallo
hier mal als Ansatz
https://www.herber.de/bbs/user/66835.xls
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rng As Object
If Not Intersect(Target, Union(Range("A4"), Range("A15"), Range("A26"), Range("A37"), Range(" _
A48"), Range("A59"), Range("A70"), Range("A81"), Range("A92"), Range("A103"))) Is Nothing And Target.Count = 1 Then
Set Rng = Range(Target.Offset(2, 0), Target.Offset(9, 0))
If Target.Value  "" Then Rng.Name = Target.Value
End If
End Sub
Gruß Matthias
Anzeige
AW: Dateischutz ist gesetzt ! oT
28.12.2009 08:05:53
Thomas
Hallo Matthias!
Vielen Dank für deinen Lösungsvorschlag!
Werde ihn heute abend mal ausprobieren!
Danke für die Bemühungen und noch schönen Tag!
LG
Tom
mit Löschen von vergebenen Namen ...
28.12.2009 10:18:42
vergebenen
Hallo

Code in einem Modul
Option Explicit
Public OldName As String



Code in Tabelle1
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim obj As Object
Dim MyNames As Name
If Not Intersect(Target, Union(Range("A4"), Range("A15"), Range("A26"), Range("A37"), Range(" _
A48"), Range("A59"), Range("A70"), Range("A81"), Range("A92"), Range("A103"))) Is Nothing And Target.Count = 1 Then
For Each MyNames In ThisWorkbook.Names
If MyNames.Name = OldName Then
MyNames.Delete
Exit For
End If
Next
Set obj = Range(Target.Offset(2, 0), Target.Offset(9, 0))
If Target.Value  "" Then
obj.Name = Target.Value
End If
Set obj = Nothing
End If
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Not Intersect(Target, Union(Range("A4"), Range("A15"), Range("A26"), Range("A37"), Range(" _ A48"), Range("A59"), Range("A70"), Range("A81"), Range("A92"), Range("A103"))) Is Nothing And Target.Count = 1 Then OldName = Target.Value End If End Sub


https://www.herber.de/bbs/user/66838.xls
Gruß Matthias
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige