Beispiel:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Rem Hier möchte ich statt $D$7 die Zelle mit dem Namen ansprechen
If Target.Address <> "$D$7" Then Exit Sub
Set oAuftrag = New clsAuftragStamm
If oAuftrag.Find(Target.Value) = False Then
Set oAuftrag = Nothing
MsgBox "Auftrag " & Target & " nicht vorhanden!", vbInformation
Else
REM Funktioniert wunderbar
MsgBox oAuftrag.AUF_Bezeichnung
REM ABER
REM Hier möchte ich statt A5 eine Namen vergeben
REM die Zelle kann ja irgendwo stehen
Worksheets("Tabelle1").Range("A5").Value = oAuftrag.AUF_Bezeichnung
End If
End Sub
Besten Dank!
Deine Bereichsnamen kannst Du als Kurznotation in eckige Klammern setzen.
Das Folgende ist zwar nicht die Lösung, könnte aber ein Weg sein. Das
Name-Objekt eines Ranges hat eine Name-Eigenschaft, die man abfragen kann.
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
If Intersect([Def_Bereichs_Name], Target) Is Nothing Then
MsgBox ("Kein Name")
Else
MsgBox (Target.Name.Name)
End If
End Sub
Teste es einfach mal aus.
--
Bei Antwort bitte NOSPAM entfernen /
Please remove NOSPAM at response
--------------------------------------------------------------
Pauzenberger Christian schrieb in Nachricht ...
[Name_fuer_Zelle_A5].Value = oAuftrag.AUF_Bezeichnung
wenn in einer Mappe der Name "Zielbereich" als Tabelle1!$D$7 vereinbart
ist, kann man die Zelle so ändern:
ActiveWorkbook.Names("Zielbereich").RefersToRange.Value = 123
War es vielleicht das, was Du suchst?
Franz-Josef
>Wie kann ich den Inhalt einer Zelle ändern,
>wo ich nur den Namen (nicht die Adresse) kenne?
>
>Beispiel:
>
>Private Sub Worksheet_Change(ByVal Target As Excel.Range)
>
>Rem Hier möchte ich statt $D$7 die Zelle mit dem Namen ansprechen
>If Target.Address <> "$D$7" Then Exit Sub
>
>Set oAuftrag = New clsAuftragStamm
>
>If oAuftrag.Find(Target.Value) = False Then
> Set oAuftrag = Nothing
> MsgBox "Auftrag " & Target & " nicht vorhanden!", vbInformation
>Else
> REM Funktioniert wunderbar
> MsgBox oAuftrag.AUF_Bezeichnung
>
> REM ABER
> REM Hier möchte ich statt A5 eine Namen vergeben
> REM die Zelle kann ja irgendwo stehen
> Worksheets("Tabelle1").Range("A5").Value = oAuftrag.AUF_Bezeichnung
>
>End If
>
>End Sub
Hallo Christian,
kennst du den Namen, hast du die Adresse! Mit dem folgenden Makro
kannst du generell die Adresse (Bezieht sich auf:) eines Namens
ermitteln:
Sub AdresseName()
Bereich = ActiveWorkbook.Names("Name")
MsgBox Bereich
End Sub
In deinem Code änderst du die letzte Zeile wie folgt:
Worksheets("Tabelle1").Range("Name").Value = oAuftrag.AUF_Bezeichnung
MfG Frank
--
E-Mail: Thei...@t-online.de