Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
876to880
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
876to880
876to880
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Auswahlbereich als Name definieren

Auswahlbereich als Name definieren
09.06.2007 18:12:43
Ide
Hallo zusammen;
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

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Auswahlbereich als Name definieren
09.06.2007 18:48:37
Josef
Hallo Ide,
mit dem RefEdit gibt's oft Probleme.
warum das Rad neu erfinden, den Dialog zur Namensdefinition gibt's doch schon.
Und per Makro aufrufen kannst du ihn so.
Sub NameDefinieren()
Application.Dialogs(xlDialogDefineName).Show
End Sub

Gruß Sepp

AW: Auswahlbereich als Name definieren
10.06.2007 12:24:02
Ide
@ Sepp
Hallo Sepp, vielen Dank -> das war genau der Befehl den ich gesucht habe!!!
Gibt es für Excelbefehle irgendwo ein Listing?
Hast Du eine Idee wie ich das Makro dazu bringe das es automatisch startet wenn sich die größe der Pivot Tabelle ändert.

Sub Pivot_ändern()
With ActiveSheet.PivotTables("PivotTable2").PivotFields("KST")
.PivotItems("2400").Visible = True
.PivotItems("2700").Visible = False
End Sub


Nochmals vielen Dank für den ersten Code.

Anzeige
AW: Auswahlbereich als Name definieren
10.06.2007 17:41:09
Josef
Hallo Ide,
zur ersten Frage solltest du mal die Hilfe zu VBA durchsehen, die ist besser als ihr Ruf.
Zur zweiten Frage, das sollte sich im Modul der Pivottabelle mit "WorkSheet_Calculate" oder "WorkSheet_Change" abfangen lassen.
Gruß Sepp

AW: Auswahlbereich als Name definieren
09.06.2007 18:54:00
Daniel
Hallo
also den 2. Teil von deinen Makros verstehe ich nicht so ganz.
aber wenn du ein Range-Objekt hast, dessen Zellbereich du einem Excel-Namen zuordnen willst, geht daß unter anderem mit diesem Code:

Application.Names.Add Name:="Auswahl", RefersTo:="='" & rng.Parent.Name & "'!" & rng.Address


wenn du einen Zellebereich einem Namen zuordnen willst, aber nicht genau weisst, wie gross der Bereich ist, dann geht das mit diesem code


Application.Names.Add Name:="Auswahl", RefersTo:="='Tabelle1'!" & range("A1").currentregion. _
Address


hilft dir das weiter?
Gruß, Daniel

Anzeige
AW: Auswahlbereich als Name definieren
10.06.2007 12:27:00
Ide
@ Daniel
Hallo Daniel, kann es sein das dein Code so ne Art Aktualisierungsabfrage ist?
oder versteh ich da was falsch?

AW: Auswahlbereich als Name definieren
10.06.2007 13:37:00
Daniel
Hallo
je nach dem.
der 2. Code passt sich halt automatisch an Grösse der geschlossenen Tabelle an, ohne daß ich voher suchen muß, wieviel Zeilen und Spalten die Tabelle umfasst.
daher ist es natürlich für Aktualisierungsabfragen ideal.
wobei dadurch kein Dynamischer Name entsteht, der sich selbstsständig anpasst, der Zellbereich ändert sich nur, wenn das Makro läuft
Gruß, Daniel

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige