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
Gruppierung von Formen in einer Schleife
03.07.2019 15:09:15
Formen
Hallo alle zusammen,
Ich habe folgenden Code von Daniel bekommen
x = Inputbox("Name")
for each shpe in activesheet.Shapes
if shpe.Name like x & "|*" then shpe.delete
Next
Statt die ganzen Shapes zu löschen, möchte ich sie nun gruppieren.
Das Problem ist, dass die Prozedur hintereinander die Shapes raussucht.
Kann man die rausgesuchten Shapes in einen Array packen, damit ich es gruppieren kann?
Beste Grüße
Leon

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

Betreff
Datum
Anwender
Anzeige
AW: Gruppierung von Formen in einer Schleife
03.07.2019 16:10:55
Formen
Lieber Luschi,
ich habe mir den Link angeguckt und einen Makro erstellt:
Sub AuslesenUndKopierenDerForm()
Dim Druck As String
Dim finden As Range
Dim shpe As Shape
Dim ZahlNr As Integer
Dim myArray As Variant
Dim Zähler As Integer
On Error GoTo KeinMa
'Es wird in U1 der Wert ausgelesen (generiert wird der Wert in UserFormDrucken).
'Dann wird der Wert oder das Wort in Spalte "Maßnahme" in Tabelle2 gesucht.
Druck = Worksheets(3).Range("U1").Value
Set finden = Range("Tabelle2[Maßnahme]").Find(what:=Druck)
ZahlNr = finden.Offset(0, -4).Value
Zähler = 0
For Each shpe In Worksheets(2).Shapes
If shpe.name Like "*| Nr. " & ZahlNr Or shpe.name Like "Zeit " & ZahlNr Then shpe.Select
Zähler = Zähler + 1
ReDim Preserve myArray(1 To Zähler)
Next
Exit Sub
KeinMa:
MsgBox "Maßnahme konnte nicht gefunden werden!", vbInformation, "Information"
End Sub
Leider gibt es einen Error und die Prozedur springt direct zur KeinMa.
Liebe Grüße
Leon
Anzeige
dann lass doch mal ...
03.07.2019 16:16:51
Rudi
On Error Goto .. weg. Dann siehst du, wo es hakt.
Außerdem redimensionierst du nur das Array und wiest ihm keine Werte zu.
Und gruppieren tust du auch nix.
Meine Variante:
Sub aaa()
Dim s As Shape, i, x As Object, n
Set x = CreateObject("scripting.dictionary")
n = InputBox("Name:")
For Each s In ActiveSheet.Shapes
i = i + 1
If s.Name Like n & "|*" Then
x(i) = 0
End If
Next
If x.Count > 1 Then
ActiveSheet.Shapes.Range(x.keys).Group
End If
End Sub

Gruß
Rudi
AW: dann lass doch mal ...
03.07.2019 16:29:58
Leon.DerProf
Lieber Rudi,
also.. uff. Ist das ein Code.
Es übersteigt ganz klar meine Kenntnisse.
Kannst du daher bitte noch einsetzen:
- Ein Wert in A1 wird ausgelesen und dieser Wert steht für ZahlNr
- Statt mit einer InputBox soll mit der ZahlNr in folgender Kombination ein Shape gesucht warden:
"Zeit " & ZahlNr
Das ware echt super :)
Liebe Grüße
Leon
Anzeige
AW: dann lass doch mal ...
03.07.2019 16:33:40
Leon.DerProf
Lieber Rudi,
nevermind!
Ich versuche es mal alleine.
Ich finde schon raus, was du da gezaubert hast und versuche selbst, das hinzukriegen.
Möchte das Ganze ja lernen :)
Beste Grüße
Leon
AW: dann lass doch mal ...
03.07.2019 16:33:45
Rudi

ZahlNr = Range("a1")
If s.Name Like "Zeit " &ZahlNr Then

?
AW: dann lass doch mal ...
03.07.2019 17:16:03
Leon.DerProf
Lieber Rudi,
ich muss dich doch noch mal nach deiner Hilfe fragen.
Ich habe es geschafft mehr oder weniger deinen Code zu verstehen und habe ihn ein wenig an meine Datei angepasst.
Nun wollte ich die neu entstandene Gruppierung in ein anderes Tabellenblatt kopieren und im Anschluss entgruppieren.
Zum Entgruppieren würde ich den ersten Makro auf folgendem Link anwenden, falls das Sinn macht:
https://docs.microsoft.com/de-de/office/vba/api/excel.shape.ungroup
Das Kopieren der Gruppe, ich habe dafür bereits im Internet gesucht, mein Kopf ist aber echt am Rauchen langsam. Ich sitze seit 6.30 Uhr am Computer.
Beste Grüße
Leon
Anzeige
AW: dann lass doch mal ...
03.07.2019 17:53:26
Leon.DerProf
Schon erledigt.
Ich habe einfach rumprobiert und es hat irgendwann geklappt.
Dennoch danke :)
Liebe Grüße
Leon
AW: dann lass doch mal ...
05.07.2019 07:17:11
Luschi
Hallo Leon,

Ich habe einfach rumprobiert und es hat irgendwann geklappt.
Hilfeforen sollten keine Einbahnstraße sein - warum zeigst Du uns nicht, was wan wie geklappt hat?
fragt sich Luschi
aus klein-Paris

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige