Auswahlbereich als Name definieren
09.06.2007 18:12:43
Ide
ich bitte euch kurz um eure Hilfe zu einem Makro für Excel.
Umgebungsbeschreibung:
Ich habe eine Pivot Tabelle mit ca. 6000 Datensätzen in Matrixform. Der Übersichthalber sortiere ich diese immer auf bestimmte Kostenstellen. Den Datenbereich der Matrix möchte ich mit einem Namen versehen, da allle anderen Formeln auf disen Namen zurückgreifen.
Da die größe der MAtrix ist abhängig von der Kostenstelle. Was ich nun möchte ist den alten Namen löschen und einen neuen Namen vergeben.
Problem:
Zeichne ich die Prozudur mit dem Makrorekorder auf sieht das wie folgt aus:
Sub Name_einfügen()
ActiveWorkbook.Names.Add Name:="Auswahl", RefersToR1C1:= _
"=Pivot!R6C2:R19C19"
End Sub
Das Problem ist der absolute Bezug.
Idee:
Ich habe ein Formular mit RefEdit zur manuellen Bereichsauswahl.
Der Bereich soll dann den absoluten Bezug ersetzen.
Sub FormularZeigen()
UserForm1.Show
End Sub
Private Sub CommandButton1_Click()
ActiveWorkbook.Names.Add Name:="Auswahl", RefersToR1C1:= _
"=Range(Addr)"
End Sub
Private Sub ccmAbbrechen_Click()
Unload Me ' Fenster schließen
End Sub
Private Sub ccmÜbertragen_Click()
Range(RefEdit1).Select
MsgBox (Range(RefEdit1))
End Sub
Private Sub RefEdit1_BeforeDragOver(Cancel As Boolean, ByVal Data As MSForms.DataObject, ByVal _
_
x As stdole.OLE_XPOS_CONTAINER, ByVal y As stdole.OLE_YPOS_CONTAINER, ByVal DragState As _
MSForms.fmDragState, Effect As MSForms.fmDropEffect, ByVal Shift As Integer)
Dim SelRange As Range
Dim Addr As String
'Get the address, or reference, from the RefEdit control.
Addr = RefEdit1.Value
'Set the SelRange Range object to the range specified in the
'RefEdit control.
Set SelRange = Range(Addr)
End Sub
Vielen Dank für eure schnelle Hilfe