Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1912to1916
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
adshape mit Variablen aus Zellbezug
15.01.2023 11:22:59
SSc
Liebe Excel-VBA-Freunde,
habe mir ein schönes Makro geschrieben zur automatisierten Erstellung von Grafikelementen, welche soweit super funktioniert:
Nun möchte ich gern auch die Art der Grafik mit einer Variablen aus einer Zelle (Spalte V) nutzen:
Für msoShapeRectangle also auch einen Zellbezug einbauen, woher er diesen nehmen soll, kann mir jmd helfen?
Ich danke Euch!!

Sub Test()
' Makro5 Makro
Dim i As Long
On Error Resume Next
ActiveSheet.Shapes.SelectAll
Selection.Delete
Sheets("Makro").Select
ActiveSheet.Shapes.Range(Array("Makro_Test")).Select
Selection.Copy
Sheets("Entwurf").Select
Range("I1").Select
ActiveSheet.Paste
For i = 2 To Range("I1")
ActiveSheet.Shapes.AddShape(msoShapeRectangle, Val(Range("S" & i).Value), Val(Range("T" & i).Value), _
Val(Range("Q" & i).Value), Val(Range("R" & i).Value)). _
Select
Selection.ShapeRange.Name = Range("I" & i)
Selection.ShapeRange(1).TextFrame2.TextRange.Characters.Text = Range("I" & i) & Chr(13) & Range("J" & i) & " x " & Range("K" & i)
ActiveSheet.Shapes.Range(Array(Range("I" & i))).Select
Range("I2").Select
Next i
End Sub

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: adshape mit Variablen aus Zellbezug
15.01.2023 12:04:36
ralf_b
du hast die Antwort bereits in deinem Code. msoShapeRectangle ist nur ein Name(Variable oder Konstante) für eine 1 in diesem Fall.
AW: adshape mit Variablen aus Zellbezug
15.01.2023 15:54:23
SSc
Hallo Ralf, Danke für Deine Antwort!
Ld sind meine VBA-Kenntnisse eher bescheiden, was meinst Du damit?
Kannst D mir beispielhaft sagen, durch was genau es zu ersetzen wäre?
Ziel ist ja die Zelle "V" & i aber eben wie verpackt?
Vielen Dank!
AW: adshape mit Variablen aus Zellbezug
15.01.2023 17:32:00
ralf_b
habe mir ein schönes Makro geschrieben
das habe ich gelesen und abgeleitet das du z.b. Range("S" & i).Value) verstehst.
Hier wird ein Wert aus Spalte S in der Zeile i geholt. Entsprechend kannst du das aus deiner Spalte V machen und das msoShapeRectangle damit ersetzen.
Anzeige
AW: adshape mit Variablen aus Zellbezug
15.01.2023 17:52:34
SSc
Hallo Ralf, Danke für Deine Geduld!
Das hatte ich natürlich (ohne es vollends zu verstehen) versucht, klappt so (wie angehangen) leider nicht :'(
Spalte V enthält 9x msoShapeRectangle und 1x msoShapeSnip1Rectangle ...
Er zeichnet nun aber gar keine Elemente mehr :'(
For i = 2 To Range("I1")
ActiveSheet.Shapes.AddShape((Range("V" & i).Value), Val(Range("S" & i).Value), Val(Range("T" & i).Value), _
Val(Range("Q" & i).Value), Val(Range("R" & i).Value)). _
Select
Selection.ShapeRange.Name = Range("I" & i)
Selection.ShapeRange(1).TextFrame2.TextRange.Characters.Text = Range("I" & i) & Chr(13) & Range("J" & i) & " x " & Range("K" & i)
ActiveSheet.Shapes.Range(Array(Range("I" & i))).Select
Range("I2").Select
Next i
VD & VG
Anzeige
AW: adshape mit Variablen aus Zellbezug
15.01.2023 17:57:00
SSc
Und ja, gebe zu 'mehr' mit Recorder und Recherche und copy+paste das Makro erstellt zu haben :/
VG
AW: adshape mit Variablen aus Zellbezug
15.01.2023 18:33:58
ralf_b
was passiert denn wenn du nur eine 1 reinschreibst, statt dem Range()
AW: adshape mit Variablen aus Zellbezug
15.01.2023 21:46:18
SSc
Das wird mir jetzt echt peinlich, hab keine Ahnung, wo oder für welche Range ich statt Rang() eine 1 reinschreiben soll :'(
Was ich trotzdem probiert habe, endet mit Kompilierungsfehlern.
Ausgangspunkt war und funktionierte super:
ActiveSheet.Shapes.AddShape(msoShapeRectangle, Val(Range("S" & i).Value), Val(Range("T" & i).Value), _
Val(Range("Q" & i).Value), Val(Range("R" & i).Value)). _
Select
Probiert habe ich:
ActiveSheet.Shapes.AddShape((Range("V" & i).Value), Val(Range("S" & i).Value), Val(Range("T" & i).Value), _
Val(Range("Q" & i).Value), Val(Range("R" & i).Value)). _
Select
Macht er nix und auch keine Fehlermeldung ...
Könntest Du bitte die ganze Zeile einmal darstellen, welche oder was Du genau meinst?
Sorry & VD!
Anzeige
AW: adshape mit Variablen aus Zellbezug
15.01.2023 21:55:23
ralf_b
https://learn.microsoft.com/de-de/office/vba/api/excel.shapes.addshape
dort ist die Parameterliste einsehbar, und der erste Parameter ist ein Wert aus der Liste msoautoshapetype
https://learn.microsoft.com/de-de/office/vba/api/office.msoautoshapetype
dort sind die nutzbaren Konstantennamen mit ihren eigentlichen Werten verzeichnet.
du soltest anstatt msoShaperectangle eine 1 in den Code schreiben. Das sollte dann immer noch funktionieren,
Wenn du dann die 1 durch Range("V"&i) ersetzt, dann wird der Wert für den Shapetyp(die Zahl) aus Spalte V genommen. Es wäre ganz toll wenn dort auch ein Wert vorhanden wäre.
Anzeige
AW: adshape mit Variablen aus Zellbezug
15.01.2023 22:19:20
SSc
Hallo Ralf, Vielen Dank!
- für di Links zu den Bibliotheken und
- für den Hinweis mit den Code-Nrn
(das hatte ich nicht verstanden, das die Elemente auch Nrn haben, hatte es mit den Namen versucht, was eben nicht klappte)
Habe die richten Code-Nrn gefunden und jetzt funktioniert es damit;
Vielen, Vielen Dank!!

254 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige