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

VBA Einzelne Gruppierungen per Makro schließen

VBA Einzelne Gruppierungen per Makro schließen
17.09.2018 05:10:05
Oliver
Liebe Excel-Gemeinde,
zu meinem Einstand hätte ich hier ein kleines, aber hartnäckiges Problem, mit dem ich seit Stunden am kämpfen bin.
Grundproblem: Ich möchte per VBA-Makro eine bestehende Gruppierung öffnen oder schließen. Ausgelöst werden soll das Ganze durch eine eigens gezheichnete Form (z.B. ein Kreis)
Das Grundproblem habe ich mit dem folgenden Code gelöst bekommen

Dim blnExpand As Boolean
Sub expandiere(blnExpand As Boolean)
If blnExpand = True Then
ExecuteExcel4Macro "SHOW.DETAIL(2, 3, true)"
Else
ExecuteExcel4Macro "SHOW.DETAIL(2, 3, false)"
End If
End Sub
Sub rufeMacroAuf_01()
blnExpand = ActiveSheet.Columns(3).Hidden
'Aufruf des Expansionsmacros (kann expandieren und kontrahieren)
expandiere blnExpand
End Sub

Das funktioniert soweit auch ganz gut. Kniffliger wird es, wenn ich nun Variablen verwenden möchte, da ich vorhabe, mit verschiedenen Knöpfen/Formen verschiedene Gruppierungen anzusteuern. Das sähe dann so aus

Dim intRowCol As Integer
Dim intRowColNum As Integer
Dim blnExpand As Boolean
Sub expandiere(intRowCol As Integer, intRowColNum As Integer, blnExpand As Boolean)
If blnExpand = True Then
'        ExecuteExcel4Macro "SHOW.DETAIL(2, 3, true)"
ExecuteExcel4Macro "SHOW.DETAIL(intRowCol, intRowColNum, true)"
Else
'        ExecuteExcel4Macro "SHOW.DETAIL(2, 3, false)"
ExecuteExcel4Macro "SHOW.DETAIL(intRowCol, intRowColNum, false)"
End If
End Sub
Sub rufeMacroAuf_01() 'und dementsprechend dann nachher rufeMacroAuf_XY()
intRowCol = 2      'mit verschiedenen Werten für rowcol
intRowColNum = 3   'und für rowcol_num
blnExpand = ActiveSheet.Columns(intRowColNum).Hidden
'Aufruf des Expansionsmacros (kann expandieren und kontrahieren)
expandiere intRowCol, intRowColNum, blnExpand
End Sub
Hier scheint irgendwie der Wurm drin zu sein. Auch nach längerer Recherche beim "Orakel von Mountain View" und anderen Foren bin ich leider nirgends auf eine Lösung dieses Problems gestoßen. Weiß von euch jemand Rat?
Herzliche Grüße,
Oli

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

Betreff
Datum
Anwender
Anzeige
AW: VBA Einzelne Gruppierungen per Makro schließen
17.09.2018 06:51:13
Luschi
Hallo Oliver,
da ExecuteExcel4Macro einen String als Übergabeparameter erwartet, kann man den auch _ zusammensetzen, hier die Variable strAufruf:

Sub Exp_Imp(intRowCol As Integer, intRowColNum As Integer, blnExpand As Boolean)
Dim strAufruf As String
strAufruf = "SHOW.DETAIL(" & intRowCol & ", " & intRowColNum & ", " & blnExpand & ")"
Debug.Print strAufruf
ExecuteExcel4Macro strAufruf
End Sub
Sub RufeMacroAuf_01()
Dim intRowCol As Integer, intRowColNum As Integer, blnExpand As Boolean
intRowCol = 2      'mit verschiedenen Werten für rowcol
intRowColNum = 3   'und für rowcol_num
blnExpand = ActiveSheet.Columns(intRowColNum).Hidden
'Aufruf des Expansionsmacros (kann expandieren und kontrahieren)
Call Exp_Imp(intRowCol, intRowColNum, blnExpand)
End Sub
Gruß von Luschi
aus klein-Paris
Anzeige
AW: VBA Einzelne Gruppierungen per Makro schließen
21.09.2018 00:49:40
Oliver
Hallo Luschi,
vielen Dank für die Antwort - das erklärt so einiges - ein String, hahahaha, man, da hätte ich auch drauf kommen können :) Jetzt tut alles so, wie es soll, merci beaucoup!
HErzliche Grüße,
Oli

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige