Anzeige
Archiv - Navigation
1048to1052
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

Makros verknüpfen

Makros verknüpfen
18.02.2009 15:51:00
miss18
Hallo brauche BITTE unbedingt Eure Hilfe. Hab einen neue Ausbildung angefangen und muss jetzt eine Excel-Datei bearbeiten, die Makros enthält aber ich kenne mich überhautp nicht aus.
Vielen vielen Dank im voraus für Eure Hilfe.
Mein Problem:
Die Excel-Datei hat mehrere Registerblätter und ich soll jetzt ein Dropdown-Formular erstellen, indem man dann die Registerblätter auswählen kann.
Ich hab das Dropdown-Feld mit einem "Kombinationsfeld" erstellt -> hier kann man ja Makros zuweisen. Allerdings kann man nur ein Makro zuweisen. Mit der Aufzeichnungsfunktion habe ich die einzelnen Schritte aufgezeichnet. Das Ergebnis:

Sub Makro1()
' Makro1 Makro
' Makro am 18.02.2009 von m18 aufgezeichnet
Sheets("Erläuterung").Select
End Sub



Sub Makro2()
' Makro2 Makro
' Makro am 18.02.2009 von m18 aufgezeichnet
Sheets("Schritt1").Select
End Sub



Sub Makro3()
' Makro3 Makro
' Makro am 18.02.2009 von m18 aufgezeichnet
Sheets("Schritt2").Select
End Sub



Sub Makro4()
' Makro4 Makro
' Makro am 18.02.2009 von m18 aufgezeichnet
Sheets("Schritt3").Select
End Sub



Sub Makro5()
' Makro5 Makro
' Makro am 18.02.2009 von m18 aufgezeichnet
Sheets("Schritt4").Select
End Sub


Aber wie gesagt dem Feld kann ich nur ein Makro zuweisen, allerdings bringt mir das nichts denn dann springt er immer nur auf ein bestimmtes Registerblatt (egal was ich auswähle)
Kann man diese 5 Makros nicht irgendwie verknüpfen (als 1 Makro): D.h. wenn ich z.B. "Schritt4" wähle kommt das Registerblatt "Schritt4" usw.
Danke für die Antworten.

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makros verknüpfen
18.02.2009 17:27:00
miss18
Hallo vielen Dank für die Antworten.
@ Sepp: genau in diese Richtung gehts es. Muss jetzt versuchen, das in mein Dokument einzubauen.
@ Matthias: ich geh jetzt nach Hause werde dein Dokument morgen analysieren.
Vielen Dank vorest. Ich hoffe ich kann das alles ohne Probleme einbauen.
Einen schönen Abend noch.
Anzeige
AW: Makros verknüpfen
19.02.2009 16:30:00
miss18
Hallo zunächst einmal Danke für die raschen Antworten.
@ Matthias:
Deine Lösung schaut auch sehr gut aus, allerdings die Aufforderung zum Bestätigen "Wechseln nach xxx - ok" ist nicht geeignet für mich, d.h. unseren Mitarbeiter würde das nicht gefallen.
@ Matthias, Josef und alle :)
Bei der Lösung von Josef gibt es da die Möglichkeit nur bestimmte Registerkarten abfragen zu lassen? Hab gerade bemerkt, dass nur bestimmte Registerkarten enthalten sein dürfen.
Noch eleganter wäre die Lösung wenn man zum Beispiel auf dem Blatt "Index" 3 Dropdownfelder sein könnten und bei jedem Dropdownfeld kann man bestimmte Registerkarten abfragen? Gehts das - das wäre perfekt. Könnt Ihr mir da auch helfen?
Danke im Voraus für die Antworten.
Lg miss18
Anzeige
AW: Makros verknüpfen
20.02.2009 19:21:00
miss18
Vielen vielen Dank Josef.
Wünsch Dir noch ein schönes WE.
Lg miss18
AW: Makros verknüpfen
20.02.2009 22:04:00
miss18
Hallo Josef.
Danke für alles bis jetzt. Ich hab es jetzt geschafft, mehrere Dropdown-Felder auf der Übersicht zu platzieren und mit der auf unterschiedliche Registerkarten zu springen. Genau wie ich es mir vorgestellt hatte (bin voll glücklich).
Allerdings geht es glaub nicht, dass ein Registerblatt bei 2 oder mehreren Dropdownfeldern ist. Dann nimmt er immer nur bei der ersten. Stimmt das?
Danke und ein schönes WE noch.
Anzeige
AW: Makros verknüpfen
20.02.2009 22:06:00
Josef
Hallo Miss18,
sicher geht das, probiers doch einfach aus.
Gruß Sepp

AW: Makros verknüpfen
23.02.2009 09:49:23
miss18
Hallo Sepp,
ich hab es das ganze WE probiert allerdings zeigt es mir nur 1x an. Kannst Du mir vielleicht sagen, wo ich rumprobieren kann. Für mich logisch ist es hier udn das habe ich als erstes probiert:
Public Sub getSheets()
Dim objWs As Worksheet
Dim var1 As Variant, var2 As Variant, var3 As Variant
'Tabellengruppen
Const cstrGroup1 As String = "Tabelle1,Tabelle5,Tabelle6"
Const cstrGroup2 As String = "Tabelle12,Tabelle4,Tabelle7,Tabelle8"
Const cstrGroup3 As String = "Tabelle3,Tabelle9,Tabelle11,Tabelle1"
Aber bei "Aus Gruppe3 auswählen" kommt die Tabelle1 nicht wieder vor weil sie schon bei "Aus Gruppe1 wählen" ist.
Andere Sachen habe ich auch noch probiert aber dann hat gar nichts mehr funktioniert.
Lg miss18
Anzeige
AW: Makros verknüpfen
23.02.2009 09:57:11
miss18
Über Umwege hatte ich es auch probiert wie hier z.B.
Option Explicit

Public Sub getSheets()
Dim objWs As Worksheet
Dim var1 As Variant, var2 As Variant, var3 As Variant, var4 As Variant
'Tabellengruppen
Const cstrGroup1 As String = "Tabelle1,Tabelle5,Tabelle6"
Const cstrGroup2 As String = "Tabelle12,Tabelle4,Tabelle7,Tabelle8"
Const cstrGroup3 As String = "Tabelle3,Tabelle9,Tabelle11"
Const cstrGroup4 As String = "Tabelle1"
var1 = Split(cstrGroup1, ",")
var2 = Split(cstrGroup2, ",")
var3 = Split(cstrGroup3, ",")
var4 = Split(cstrGroup4, ",")
With Sheets("Index")
.ComboBox1.Clear
.ComboBox1.AddItem "Aus Gruppe1 auswählen"
.ComboBox2.Clear
.ComboBox2.AddItem "Aus Gruppe2 auswählen"
.ComboBox3.Clear
.ComboBox3.AddItem "Aus Gruppe3 auswählen"
For Each objWs In ThisWorkbook.Worksheets
If Not objWs.Name = .Name Then
If IsNumeric(Application.Match(objWs.Name, var1, 0)) Then
.ComboBox1.AddItem objWs.Name
ElseIf IsNumeric(Application.Match(objWs.Name, var2, 0)) Then
.ComboBox2.AddItem objWs.Name
ElseIf IsNumeric(Application.Match(objWs.Name, var3, 0)) Then
.ComboBox3.AddItem objWs.Name
ElseIf IsNumeric(Application.Match(objWs.Name, var4, 0)) Then
.ComboBox3.AddItem objWs.Name
End If
End If
Next
.ComboBox1.ListIndex = 0
.ComboBox2.ListIndex = 0
.ComboBox3.ListIndex = 0
End With
End Sub


Leider auch ohne Erfolg. :(

Anzeige
AW: Makros verknüpfen
23.02.2009 10:05:18
Josef
Hallo Miss18,
sorry, da hab ich dich falsch verstanden.
Das geht so.
Public Sub getSheets()
  Dim objWs As Worksheet
  Dim var1 As Variant, var2 As Variant, var3 As Variant
  'Tabellengruppen
  Const cstrGroup1 As String = "Tabelle1,Tabelle5,Tabelle6"
  Const cstrGroup2 As String = "Tabelle12,Tabelle4,Tabelle7,Tabelle8"
  Const cstrGroup3 As String = "Tabelle3,Tabelle9,Tabelle11,Tabelle1"
  
  var1 = Split(cstrGroup1, ",")
  var2 = Split(cstrGroup2, ",")
  var3 = Split(cstrGroup3, ",")
  
  With Sheets("Index")
    .ComboBox1.Clear
    .ComboBox1.AddItem "Aus Gruppe1 auswählen"
    .ComboBox2.Clear
    .ComboBox2.AddItem "Aus Gruppe2 auswählen"
    .ComboBox3.Clear
    .ComboBox3.AddItem "Aus Gruppe3 auswählen"
    
    For Each objWs In ThisWorkbook.Worksheets
      If Not objWs.Name = .Name Then
        If IsNumeric(Application.Match(objWs.Name, var1, 0)) Then
          .ComboBox1.AddItem objWs.Name
        End If
        If IsNumeric(Application.Match(objWs.Name, var2, 0)) Then
          .ComboBox2.AddItem objWs.Name
        End If
        If IsNumeric(Application.Match(objWs.Name, var3, 0)) Then
          .ComboBox3.AddItem objWs.Name
        End If
      End If
    Next
    
    .ComboBox1.ListIndex = 0
    .ComboBox2.ListIndex = 0
    .ComboBox3.ListIndex = 0
  End With
End Sub


Gruß Sepp

Anzeige
AW: Makros verknüpfen
23.02.2009 11:18:46
miss18
Wow super Sepp.
Danke vielmals. Klappt wunderbar. Jetzt bau ich das noch in mein Dokument ein und ich hoffe dann passt alles und ich muss Dich nicht mehr nerven :D
Liebe Grüße miss18
bissl Eigeninitiative wäre schon schön gewesen.
19.02.2009 19:17:00
Matthias
Hallo
Zitat:
@ Matthias:
Deine Lösung schaut auch sehr gut aus, allerdings die Aufforderung zum Bestätigen "Wechseln nach xxx - ok" ist nicht geeignet für mich, d.h. unseren Mitarbeiter würde das nicht gefallen.



Ich dachte die paar Zeilen mit der MSGBOX wieder zu löschen schaffst du selber.
die MsgBox hatte ich doch nur eingebaut, damit Du siehst was passiert.
Gruß Matthias
Anzeige
AW: bissl Eigeninitiative wäre schon schön gewesen.
20.02.2009 22:03:00
miss18
Sorry, jetzt wo du es sagst :) wär es leicht gewesen ...
Aber für einen absoluten Anfänger ist das nicht immer so einfach. Das sehe ich auf den ersten Blick nicht.
Ich hab es jetzt geschafft, mehrere Dropdown-Felder auf der Übersicht zu platzieren und mit der auf unterschiedliche Registerkarten zu springen. Genau wie ich es mir vorgestellt hatte (mit dem Makro von Josef). Allerdings geht es glaub nicht, dass ein Registerblatt bei 2 oder mehreren Dropdownfeldern ist. Dann nimmt er immer nur bei der ersten. Stimmt das?
Danke und ein schönes WE noch.

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige