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

Gruppierung verschiedener Objekte mittels VBA

Gruppierung verschiedener Objekte mittels VBA
24.03.2024 11:38:52
Lance
Hi, ich habe ein kleines Problem welches ich mittels VBA lösen wollte. Aber ich hänge da leider fest. Es geht darum, dass ich mit der Formel
=Bildurl(A1)

eine Funktion auslöse. Diese Funktion erstellt drei Objekte. Ein Rechteck als Untergrund, ein Bild welches ein QR Code enthält mit den Text aus A1 und eine Textbox mit den Text aus A1. Diese drei Objekte liegen auch schon halbwegs gut positioniert gut übereinander. Nun wollte ich sie gruppieren um sie zu Fixieren. Jedoch schaffe ich es nicht, die drei Objekte variabel zu adressieren um sie zu gruppieren.

ActiveSheet.Shapes.Range(Array("Rectangle 1" , "TextBox 3", "Picture 5")).Group


Wie kann ich die höchsten Zahlen am Ende von Rectangle, Textbox und Picture ermitteln?
Hab schon einiges versucht, eine Schleife die, die Objekte zählt (funktioniert nicht weil es nur die aktiven Objekte zählt), habe versucht die Anzahl mit rectangle.count auszulesen etc. Hat jemand dazu eine Idee?

Oder mache ich es mir zu schwer? Eigentlich benötige ich nur ein QR code der den Text aus A1 beim scannen hervorbringt und eine Beschriftung hat die ebenfalls den Text aus A1 wiedergibt.

Hier nochmal der ganze VBA Code, bisher noch unkommentiert und nicht überarbeitet.

Public Function Bildurl(artnum As String) As String

Dim grafiklink As String


grafiklink = "https://chart.googleapis.com/chart?cht=qr&chs=500x500&chl=" & artnum


With ActiveSheet.Shapes.AddShape(msoShapeRectangle, Application.Caller.Left, Application.Caller.Top, 75, 85).Fill
.Visible = msoTrue
.ForeColor.ObjectThemeColor = msoThemeColorBackground1
.ForeColor.TintAndShade = 0
.ForeColor.Brightness = 0
.Transparency = 0
.Solid
End With


With ActiveSheet.Pictures.Insert(grafiklink)
.Left = Application.Caller.Left + 2
.Top = Application.Caller.Top
.Height = Application.Caller.Height
.ShapeRange.ZOrder msoBringToFront
.ShapeRange.Height = 71
.ShapeRange.Width = 71

End With
grafiklink = ""

ActiveSheet.Shapes.AddLabel(msoTextOrientationHorizontal, Application.Caller.Left, Application.Caller.Top + 68, 75, 14).Select
Selection.ShapeRange(1).TextFrame2.TextRange.Characters.Text = artnum
Selection.ShapeRange(1).TextFrame2.TextRange.Characters(1, 1).ParagraphFormat. _
FirstLineIndent = 0
Selection.ShapeRange(1).TextFrame2.TextRange.ParagraphFormat.Alignment = _
msoAlignCenter
With Selection.ShapeRange(1).TextFrame2.TextRange.Characters(1, 1).Font
.NameComplexScript = "+mn-cs"
.NameFarEast = "+mn-ea"
.Fill.Visible = msoTrue
.Fill.ForeColor.ObjectThemeColor = msoThemeColorText1
.Fill.ForeColor.TintAndShade = 0
.Fill.ForeColor.Brightness = 0
.Fill.Transparency = 0
.Fill.Solid
.Size = 11
.Name = "+mn-lt"

End With




'ActiveSheet.Shapes.Range(Array("Rectangle 1" , "TextBox 3", "Picture 5")).Group



artnum = ""
End Function

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Gruppierung verschiedener Objekte mittels VBA
24.03.2024 12:37:57
ralf_b
wozu benötigst du das rechteckige Shape?
wenn du es weglässt ,kannst du mit dem Code die letzten beiden zugefügten Shapes gruppieren. wenn du es unbedingt benötigst, dann eben noch hinzufügen.

With ActiveSheet

.Shapes.Range(Array(.Shapes(.Shapes.Count - 1).Name, .Shapes(.Shapes.Count).Name)).Group
End With
AW: Gruppierung verschiedener Objekte mittels VBA
24.03.2024 13:02:41
Lance
Hi rafl_b,

danke für deine Hilfe. Ich habe das Rechteck auskommentiert und mit deinen Code mal laufen lassen und das Ergebnis ist wie gewünscht.
Vielen, vielen Dank!

Das Rechteck war tatsächlich ohne direkten nutzen. Ich wollte auf den Rechteck Shape den QR Code und die Textbox platzieren. Aber wahrscheinlich war das zu umständlich gedacht.
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige