Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1568to1572
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
Inhaltsverzeichnis

Buttons_Positionierung_Merken

Buttons_Positionierung_Merken
24.07.2017 22:04:09
Harald
Hallo liebe Leute,
ich habe da eine Frage:
ich habe mehrere Tabellenblätter mit Grafiken. Unter diesen Grafiken befindet sich eine kleiner Bereich, aus der die Grafik ihre Daten holt. Ganz einfach. Zur Info: dieser Bereich hat einen spezifischen Namen (also ein Anhaltspunkt ggf. wichtig bei Relativsetzung von irgendwas)
Über jedem Chart ist jeweils ein Button um den Monat auszuwählen, der die Daten des Charts um ein gewisses Zeitraum ändert. Dieser Buttons pro Chart hat einen eigenen Namen...
Das Problem besteht oftmals, dass die Buttons sich verschieben oder vergrößern. Vielleicht kennt jemand dieses Problem. Um alle möglichen Probleme/Konstelationen hinsichtlich Buttons abzudecken, bräuchte ich also eine Prozedur die folgendes macht:
merke dir alle Buttons zum Status Quo : (zB command Button 1 steht in den Zellen A2 bis B2) von der Breite, Länge und Positionierung.
Füge die buttons (bei bedarf) wieder dort hin, wo sie vorher waren. also wenn ich
erkenne, die buttons sind nicht so wie sie sind, führe ich eine sub aus, die alle wieder dort hin positioniert wo sie vorher waren (idealerweise relativ zum chart und datenfeld)
ein möglicher anhaltspunkt wäre vielleicht das datenfeld des charts oder? es hat immer einen eigenen namen, der so ähnlich klingt wie der button name.
Hier eine Skizzierung:
Userbild
Das Verhältnis vom Datenfeld (also Datenbereich unter Chart) und Chart ist immer gleich. Der Button muss immer über das Chart stehen. Allerdings gibt es auch mal doppelcharts mit einem datenfeld, woher sich beide charts jeweils ihre daten holen.

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Buttons_Positionierung_Merken
25.07.2017 08:39:24
Beverly
Hi,
positioniere zuerst alle Steuerelemente an die von dir gewünschte Stelle und lies dann die Daten mit einem Makro aus und schreibe sie einschließlich dem Namen des Steuerelements in ein Tabellenblatt (kannst du ausblenden).
Andere Möglichkeit: wenn es nicht allzuviele Steuerelemente sind, kannst du die Parameter auch direkt in den Code integrieren ohne sie in einem Tabellenblatt abzulegen.
Im Code für das Worksheet_Activate-Ereignis des Tabellenblattes mit den Steuerelementen durchläufst du dann die Daten und passt die Steuerelemente an.


Anzeige
AW: Buttons_Positionierung_Merken
25.07.2017 20:33:33
Harald
Hallo,
vielen Dank für die Hilfe. Als Anfänger ist etwas schwierig so einen Code zu basteln.
Gibt es hier irgendwo schon vorlagen oder ähnliches? Google hat nichts passendes ausgespuckt.
Vielen Dank und Gruß
H.
AW: Buttons_Positionierung_Merken
26.07.2017 14:19:31
Beverly
Hi,
das kannst du z.B. nach diesem Prinzip machen:
Private Sub Worksheet_Activate()
Dim oobElement As OLEObject
Dim arrDaten()
Dim intPos As Integer
arrDaten = Array(Array("CommandButton1", "CommandButton2", "CommandButton3"), _
Array("D1", "D8", "D12"))
' Schleife über die Steuerelemente aus dem 1. Unter-Array
For intPos = 0 To 2
' laufendes Steuerelement aus dem 1. Unter-Array
Set oobElement = ActiveSheet.OLEObjects(arrDaten(0)(intPos))
With oobElement
' Pos. oben Zelle aus dem 2. Unter-Array
.Top = Range(arrDaten(1)(intPos)).Top
' Pos. links Zelle aus dem 2. Unter-Array
.Left = Range(arrDaten(1)(intPos)).Left
' Breite = Breite Spalte + Breite Nachbarspalte der Zelle aus 2. Unter-Array
.Width = Range(Range(arrDaten(1)(intPos)), Range(arrDaten(1)(intPos)).Offset(0, 1)). _
Width
' Höhe = Höhe Zeile + Höhe nächste Zeile der Zelle aus 2. Unter-Array
.Height = Range(Range(arrDaten(1)(intPos)), Range(arrDaten(1)(intPos)).Offset(1, 0)) _
.Height
End With
Next intPos
End Sub

Die Namen der Steuerelemente und die Zelladressen musst du natürlich anpassen, eventuell auch die gewünschte Breite und Höhe. Letztere werden im Code aus der Spaltenbreite + Breite Nachbarspalte bzw. Höhe der Zeile + Höhe der nächsten Zeile der im Array angegebenen Zelle ermittelt.


Anzeige
AW: Buttons_Positionierung_Merken
28.07.2017 13:17:28
Harald
Super. Danke für die Unterstützung!!!!!!

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige