Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1700to1704
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

Rechteck Form, ActiveCell.Top

Rechteck Form, ActiveCell.Top
01.07.2019 09:39:43
Leon.DerProf
Ich habe ein Rechteck halbiert, dieser erscheint aber am oberen Ende der Zelle.
Gibt es einen Befehl, um das Rechteck unten an der Zelle zu positionieren?
Ich habe gesucht und nichts gefunden, kapituliere. Ein Link würde mir auch reichen.

Set sh = ActiveSheet.Shapes.AddShape(msoShapeRectangle, ActiveCell.Left, ActiveCell.Top,  _
ActiveCell.Height, ActiveCell.Height / 2)
sh.Select
With Selection
.Characters.Text = fte & " FTE"
.Placement = xlMoveAndSize
.name = "ZeitTeil " & festNr
End With
Set rng = Worksheets("Balkenplan").Range(Cells(findenNr.Row, findenstart.Column).Address)
Set shp = Worksheets("Balkenplan").Shapes("ZeitTeil " & festNr)
shp.Left = rng.Left
shp.Top = rng.Top
shp.Width = Range(findenstart.Address, findenende.Address).Width
Ich habe es bereits damit probiert:
Set sh = ActiveSheet.Shapes.AddShape(msoShapeRectangle, ActiveCell.Left, ActiveCell.Top + 40, ActiveCell.Height, ActiveCell.Height / 2)
Oder Active.Cell mit -1 multiplizieren oder sonstige Rechenoperationen. Diese Methoden sind aber nicht zielführend, da sie mehr Chaos verursachen.
Ich habe es mit ActiveCell.Down oder Bottom versucht, wo finde ich den verflixten Befehl :D

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Rechteck Form, ActiveCell.Top
01.07.2019 09:49:32
Nepumuk
Hallo Leon,
die Top + Height Eigenschaften der Zielzelle addieren und davon die Height Eigenschaft des Shape abziehen.
Gruß
Nepumuk
AW: Rechteck Form, ActiveCell.Top
01.07.2019 11:35:22
Leon.DerProf
Also ich habe es jetzt so gelöst.
Worksheets(2).Activate
Cells(findenNr.Row, findenstart.Column).Select
Set sh = ActiveSheet.Shapes.AddShape(msoShapeRectangle, ActiveCell.Left, ActiveCell.Top +  _
ActiveCell.Height / 2, ActiveCell.Height, ActiveCell.Height / 2)
sh.Select
With Selection
.Characters.Text = fte & " FTE"
.Placement = xlMoveAndSize
.name = "ZeitTeil " & festNr2
End With
Set rng = Worksheets("Balkenplan").Range(Cells(findenNr.Row, findenstart.Column).Address)
Set shp = Worksheets("Balkenplan").Shapes("ZeitTeil " & festNr2)
shp.Left = rng.Left
shp.Top = rng.Top
shp.Width = Range(findenstart.Address, findenende.Address).Width
Wenn ich nur das hier in einer separaten Datei verwende, dann funktioniert es, wie ich es haben möchte.
ActiveSheet.Shapes.AddShape(msoShapeRectangle, ActiveCell.Left, ActiveCell.Top + ActiveCell.Height / 2, ActiveCell.Height, ActiveCell.Height / 2)
Aber wenn ich den langen Code dort oben nehme, dann ändert sich nichts an der Position.
Wenn ich den Code nochmal durchjage, dann erstellt er "Fehlerhaft" einen zweiten Rechteck, dieser ist aber plötzlich versetzt, so wie ich es haben möchte.. wo liegt mein Denkfehler.
Alleine komme ich echt nicht drauf.
Anzeige
AW: Rechteck Form, ActiveCell.Top
01.07.2019 11:54:34
Leon.DerProf
Ich habe den Fehler gefunden.
Man muss ganz unten shp.Top=rng.Top rausnehmen, dann klappt es :)

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige