2016-12-02 8 views
-1

Mein Ziel ist es, die obere rechte Zelle in meinem Range mithilfe einer Formel zu benennen. Ist das möglich?Benennen Sie eine Zelle mit einer Formel

Zuerst finde ich die rechte obere Zelle mit:

Cells(Selection.Row, Selection.Columns.count + Selection.Column - 1) 

Aber dann wie nenne ich das? Ich habe versucht, .Select und die unten, aber habe nur einen Fehler.

Selection.Name = "=""SectionActions_""&'Add Section'!D3" 
+0

Haha keine Klassenaufgabe, nur ein Projekt, an dem ich gerade arbeite. Ich versuche, einen Teil nach dem anderen zu bauen, aber wenn Fragen in Teilen wie diesem verpönt sind, werde ich aufhören. Ich verspreche, dass ich in jeder Konfiguration suche, die ich für eine Antwort vor dem Posten denke. Für diese Frage hier habe ich versucht, es für 4 Stunden zu lösen :( – Haley

+0

Zellen (Selection.Row, Selection.Columns.count + Selection.Column - 1) .Name = "SectionActions_" & Arbeitsblätter ("Add Section") .Range ("D3"). Wert – user3598756

+0

Ernsthaft?!?! Das ist genauso wie bei Ihrer vorherigen Frage, außer dass die Zeichenfolge "AddSection" durch die Zeichenfolge "SectionActions" ersetzt wurde! Verwenden Sie entweder meine Antwort oder die Antwort von @ThomasInzina (das du als Lösung deines Problems akzeptiert hast), und alles, was du tun musst, ist, die Zeichenfolgen auf die entsprechenden neuen Werte zu ändern. – YowE3K

Antwort

1

Sie könnten so etwas wie dies versuchen:

Dim rngTest As Range 
rngTest = Range(Selection.Row, Selection.Columns.count + Selection.Column - 1) 
ActiveWorkbook.Names.Add Name:="Hi", RefersTo:=rngTest 

würde ich HOCH empfiehlt jedoch nicht Select und Selections verwenden. Wenn möglich, holen Sie vorher die Range, finden Sie die Zelle oben rechts, und stellen Sie dann Range auf genau diese Zelle ein. Verwenden Sie stattdessen das Range als das RefersTo:= Argument.

EDIT: Ich schlug vor, Sie tun, aber es ist viel einfacher, wenn ich es nur in meinem Vorschlag mache ... Lazy me.

Verwandte Themen