Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1056to1060
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
Umschaltfläche in verbundener Zelle zentrieren
11.03.2009 15:57:39
Michael
Hallo,
hat jemand eine Idee, wie ich eine Umschaltfläche in einer verbundenen Zelle zentrieren kann, nachdem ich Zeilen eingefügt habe und die Schaltfläche nun irgendwo im oberen Drittel der verbundenen Zelle hängt ?

18
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Umschaltfläche in verbundener Zelle zentrieren
11.03.2009 16:59:42
Hilmar
Hi,
markieren und mit den Pfeiltasten bewegen.
mfg Hilmar
AW: Umschaltfläche in verbundener Zelle zentrieren
12.03.2009 10:56:17
Michael
Hallo,
eigentlich geht es darum, dass dieses vom VBA Code erledigt werden soll. Ich füge über ein Makro Zeilen ein; im gleichen Schritt soll das Makro die Schaltfläche in der verbundenen Zelle zentrieren.
Weitere Anregungen ?
Grüße
AW: Umschaltfläche in verbundener Zelle zentrieren
15.03.2009 08:05:45
schauan
Hallo Michael,
Du kannst mit Left, Top, Width, Height die Maße der Zelle und der Schaltfläche berechnen und daraus für die Schaltfläche Top und Left ermitteln und sie entsprechend platzieren.
Gruß, Andre
AW: Umschaltfläche in verbundener Zelle zentrieren
15.03.2009 11:24:26
Michael
Hallo Andre,
wenn ich für left und top einen Zellbezug angebe, kann ich dann im nachhinein die Schaltfläche nicht über die laufende Nummer sondern über die Schaltfläche in der bestimmten Zelle ansprechen ?
Gruß Micha
Anzeige
AW: Umschaltfläche in verbundener Zelle zentrieren
15.03.2009 11:34:05
schauan
Hallo Michael,
Du müsstest allerdings über eine Schleife prüfen, welche Schaltfläche in der Zelle liegt, oder wenn Du von der Schaltfläche ausgehst, dann musst Du so die passende Zelle suchen.
Gruß, Andre
AW: Umschaltfläche in verbundener Zelle zentrieren
15.03.2009 12:13:57
Michael
Hallo Andre,
hast Du ne Idee wie das code mäßig aussehen könnte ?
so klappt es nicht:
Sub SchaltflächeAusrichten()
Dim btn as Shape
For each btn in ActiveSheet.Shapes("ToggleButton" & btn)
If btn.Left = Cells(3,5).Left and btn.Top = Cells(3,5).Top then
btn.select
End If
Next
Gruß Micha
AW: Umschaltfläche in verbundener Zelle zentrieren
15.03.2009 12:47:57
schauan
Hallo Michael,
im Prinzip so. Damit wird der Button1 zentriert in Zelle B2 ausgerichtet, aber nur, wenn er vorher schon mit der linken oberen Ecke irgendwo im Bereich der Zelle2 liegt. Éigentlich müsste die Berechnung den Button bei Versatz von 2 in der Größe um 4 reduzieren. Allerdings sieht dass wegen der Buttonränder nicht unbedingt mittig aus. Da kann man mit den Zahlen etwas experimentieren. Ich habe statt der 4 hier mal nur 2,5 genommen.
Dann muss man auch aufpasen, ob die Beschriftung noch passt ...

Sub Makro2()
' Makro2 Makro
' Makro am 15.03.2009 von Andre aufgezeichnet
For Each btn In ActiveSheet.Shapes
If btn.Name = "ToggleButton1" Then
If btn.Left >= Cells(2, 2).Left And btn.Left = Cells(2, 2).Top And btn.Top 


Gruß, Andre

Anzeige
AW: Umschaltfläche in verbundener Zelle zentrieren
15.03.2009 14:41:38
Michael
so funktioniert's :)
kennst Du Dich zufällig mit Access etwas aus ?
Ich würde gerne wissen, ob man das Ergebnis einer Abfrage in Excel VBA in einer Variablen speichern kann ?
Gruß Micha
AW: Umschaltfläche in verbundener Zelle zentrieren
15.03.2009 15:03:31
schauan
Hallo Michael,
wenn Du mit der Abfrage eine Abfrage von Access meinst, dann kann ich nichts dazu sagen.
wenn Du allerdings mit der Abfrage eine Excel-Abfrage auf eine Access-Datenbank meinst, dann kann ich sagen, dass es geht. Du kannst das Ergebnis staat in einen Zellbereich in ein Array ausgeben.
Gruß, ANdre
AW: Umschaltfläche in verbundener Zelle zentrieren
15.03.2009 15:09:03
Michael
Hallo Andre,
ich meinte eine Excel-Abfrage auf eine Access-datenbank. Das mit dem Array hört sich gut an. Kannst Du mir vielleicht einen Link auf ein Beispiel oder ähnliches geben, so dass ich dies mal anhand eines Beispiels sehen kann ?
Vielen Dank schonmal für die Hilfe !!!
Gruß Micha
Anzeige
AW: Umschaltfläche in verbundener Zelle zentrieren
15.03.2009 17:00:57
schauan
Hallo Michael,
wenn dieser Ansatz reicht? Falls nicht, muss ich noch mal suchen. Relevant ist die Methode GetRows vom RecordSet.


' dann Anzahl der DS ermitteln
.MoveLast
lCount = .RecordCount
.MoveFirst
' Recordset ins Array kopieren
vRst = .GetRows(lCount)


Gruß, ANdre
AW: Umschaltfläche in verbundener Zelle zentrieren
15.03.2009 18:16:22
Michael
Hi Andre,
so firm bin ich leider nicht, dass ich damit viel anfangen kann.
Muss mich mit dem Thema wohl intensiver beschäftigen. Ich dachte evtl. ich kann die Abfrage von
Excel aus mit dem recorder aufnehmen, und als Destination Zelle einfach das Array angeben. Hab
ich mir wohl etwas einfach vorgestellt
Gruß Micha
Anzeige
AW: Umschaltfläche in verbundener Zelle zentrieren
15.03.2009 18:28:19
schauan
Hallo Michael,
diese Abfrage kannst Du nicht einfach aufnehmen. Es geht hier um das Thema DAO oder ADO, wo Du den Datenbankzugriff komplett selbst programmierst. Die Abfrage über Query bekommst Du nur in die Zellen.
Hast Du die Nordwind auf Deinem Rechner? Dafür habe ich ein Beispiel, wo ich die Daten u.a. in eine Listbox stelle.
Gruß, Andre
AW: Umschaltfläche in verbundener Zelle zentrieren
15.03.2009 18:48:18
Michael
Hallo,
wieder diese beiden komischen Abkürzungen :)
hier hab ich gefunden, wie ich Daten aus ner Access Tabelle in eine comboBox bekomme (mit ADO)
http://www.fontstuff.com/vba/vbatut10.htm
hat auch gut funktioniert. Den Unterschied zwischen ADO und DAO kenne ich allerdings nicht.
Hier der Code:

Sub ComBox()
Dim cnn As New ADODB.Connection
Dim rst As New ADODB.Recordset
cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=C:\Dokumente und Einstellungen\Administrator\Desktop\db2.mdb"
rst.Open "SELECT DISTINCT [Set] FROM Mail ORDER BY [Set];", _
cnn, adOpenStatic
rst.MoveFirst
With Worksheets("A").ComboBox1
.Clear
Do
.AddItem rst![Set]
rst.MoveNext
Loop Until rst.EOF
End With
rst.Close
cnn.Close
Set rst = Nothing
Set cnn = Nothing
End Sub


irgendwie müsste man dann also die comboBox gegen den Array austauschen ?
Was ist Nordwind eingentlich ?
Gruß Micha

Anzeige
AW: Umschaltfläche in verbundener Zelle zentrieren
15.03.2009 18:37:58
Michael
Hi Andre,
so firm bin ich leider nicht, dass ich damit viel anfangen kann.
Muss mich mit dem Thema wohl intensiver beschäftigen. Ich dachte evtl. ich kann die Abfrage von
Excel aus mit dem recorder aufnehmen, und als Destination Zelle einfach das Array angeben. Hab
ich mir wohl etwas einfach vorgestellt
Gruß Micha
AW: Umschaltfläche in verbundener Zelle zentrieren
15.03.2009 19:29:39
schauan
Hallo Michael,
in Deinem Fundstück ;-) müsstest Du diesen Part
With Worksheets("A").ComboBox1
.Clear
Do
.AddItem rst![Set]
rst.MoveNext
Loop Until rst.EOF
End With
gegen den mit getRows austauschen.


Dim vRows
...
With rst
.MoveLast
.MoveFirst
vRows = rst.GetRows(.RecordCount)
.Close
End With


hier ist übrigens auch was zum nachlesen
ADO
http://www.vb-helper.com/howto_ado_load_array.html
oder
http://www.online-excel.de/excel/singsel_vba.php?f=135
DAO
http://support.microsoft.com/default.aspx?scid=kb;en-us;Q129856
Gruß, Andre
Anzeige
AW: Umschaltfläche in verbundener Zelle zentrieren
15.03.2009 19:49:01
Michael
Hallo Andre,
vielen Dank erstmal !!!
für mich ist heute erstmal Schluss - ich wünsch Dir noch nen angenehmen Sonntag Abend.
Gruß,
Micha
AW: Umschaltfläche in verbundener Zelle zentrieren
15.03.2009 19:49:41
Michael
Hallo Andre,
vielen Dank erstmal !!!
für mich ist heute erstmal Schluss - ich wünsch Dir noch nen angenehmen Sonntag Abend.
Gruß,
Micha

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige