Ich versuche, ein Makro zu schreiben, das eine String-Variable als Eingabe verwendet, wobei die String-Variable auf einen benannten Bereich verweist.Referenzieren benannter Bereiche in Bereichsfunktion (Excel - VBA)
Zeit, was ich habe ist:
Sub SubItems()
Dim M As String
M = "=R[-1]C"
'where M refers to row above, currently it is Manufacturers
Dim g As Range
Set g = Range(" & M & ")
ActiveCell.Value = g(2)
'For Example
End Sub
Das Problem mit dem Set g = Range ("& M &") Syntax
ich das Eingabeargument für die Range-Funktion sein will, was M ist, und nicht der buchstäbliche Buchstabe M. Ähnlich wie in C würden Sie printf ('% s', M) zum Beispiel tun.
Edit:
Derzeit, wie ich das Excel-Sheet-Setup haben, ist, dass Sie eine Hauptsache aus einem Dropdown-Menü auswählen. Dann möchte ich die Zelle unterhalb des Hauptelements auswählen und die Zeilen automatisch mit Unterelementen füllen. Die Unterelemente werden in einem benannten Bereich gespeichert, der nach dem Hauptelement benannt ist.
Daher möchte ich mein Makro automatisch die Zeile darüber lesen (Main Item) daher habe ich M = "= R [-1] C". Dann möchte ich das in die Bereichsfunktion eingeben und das ist das Problem, mit dem ich derzeit konfrontiert bin.
Ich hoffe, dies klärt mein Problem klarer.
Meinst du nur 'Set g = Range (M)'? Oder 'Setzen Sie g = Range (" "& M" "" ")"? – BruceWayne
@ SherifR Ihre Erklärung hilft nicht, was möchten Sie tun? Sie haben 2 Strings, einer ist der Name des benannten Bereichs und einer ist der Wert davon? – Ibo
Was machst du eigentlich hier? Denn auf den ersten Blick sieht es so aus, als würden Sie versuchen, ein einfaches Problem schwerer zu machen, als es sein müsste. Werfen Sie einen Blick darauf: https://meta.stackexchange.com/questions/66377/what-is-the-xy-problem – SandPiper