Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Excel VBA wenn Wort richtig dann dieses Makro

Excel VBA wenn Wort richtig dann dieses Makro
09.10.2019 08:33:00
Pascal
Hallo liebe Excel Community,
Ich habe viele verschiedene Persönlichen Makros die sich eigentlich nicht all zu sehr voneinander unterscheiden bis meistens auf den S-Verweis der eben einen anderen Spaltenindex hat oder die Matrix anders gelegt ist oder der S-Verweis sich auf eine andere Datei bezieht.
Jetzt dachte ich mir das man doch bestimmt diese Vielen Makros zu einem zusammenführen kann und er sich selbst aussuchen soll welches Makro den nun angestoßen werden soll.
In diesen Excel listen in den das Makro ausgeführt werden soll gibt es immer den Namen des Tabellenbaltt das mir sagt welches Makro ich nun ausführen soll. hier ein bsp.: "LS Gesamt" oder "DN APP" oder "DN FTW".
Nun wollte ich fragen ob man eben per Makro suchen lassen kann welches Makro gebraucht wird und dann dieses ausgeführt wird? Oder mir eine vorsortierte Auswahl an Makros angezeigt wird.
Hier ein Beispiel eines Makros:
Sub LSVKB_APP_PSS_DE_AT_CH()
Sheets("LS Gesamt").Select
Sheets("LS Gesamt").Copy After:=Sheets(1)
Sheets("LS Gesamt (2)").Select
Sheets("LS Gesamt (2)").Name = "LS (HZA)"
Sheets("LS (HZA)").Select
Sheets("LS (HZA)").Move Before:=Sheets(1)
Sheets("LS Gesamt").Select
ActiveWindow.SmallScroll Down:=-21
With Application
.ScreenUpdating = False
.EnableEvents = False
.Calculation = xlCalculationManual
End With
For Each Zelle In Range("H36:H2600")
Zelle.Value = Trim(Zelle.Value)
Next
With Application
.ScreenUpdating = True
.EnableEvents = True
.Calculation = xlCalculationAutomatic
End With
ActiveWorkbook.Worksheets("LS Gesamt").AutoFilter.Sort.SortFields.Clear
ActiveWorkbook.Worksheets("LS Gesamt").AutoFilter.Sort.SortFields.Add Key:= _
Range("H35:H3149"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption _
:=xlSortNormal
With ActiveWorkbook.Worksheets("LS Gesamt").AutoFilter.Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
Range("A36").Select
Selection.FormulaArray = _
"=IF(RC8="""","""",(IF((R[-1]C8=RC8),1,"""")))"
Range("B36").Select
ActiveCell.FormulaLocal = _
"=WENN(SVERWEIS(H36;'W:zensiert'!$J$1:$U$14010;8;0)="""";"" - "";SVERWEIS(H36;'W: _
zensiert'!$J$1:$U$14010;8;0))"
Range("C36").Select
ActiveCell.FormulaLocal = _
"=WENN(SVERWEIS(H36;'W:\zensiert'!$J$1:$U$14010;9;0)="""";"" - "";SVERWEIS(H36;'W:\ _
zensiert'!$J$1:$U$14010;9;0))"
Range("D36").Select
ActiveCell.FormulaLocal = _
"=SVERWEIS(H36;'W:\zensiert'!$J$1:$AM$14010;30;0)"
Range("A36:D36").Select
Dim letzte As Long
letzte = Cells(Rows.Count, 4).End(xlUp).Row
Range("A36:D36").AutoFill Destination:=Range("A36:D" & letzte - 2)
Range("W36").Select
ActiveCell.FormulaLocal = _
"=WENN(ISTFEHLER(SVERWEIS(H36;'M:\AV\Einzelgewichte\[Einzelgewichte.xlsx]Tabelle1'!$E:$  _
_
I;5;0));"""";SVERWEIS(H36;'M:\AV\Einzelgewichte\[Einzelgewichte.xlsx]Tabelle1'!$E:$I;5;0))"
letzte = Cells(Rows.Count, 4).End(xlUp).Row
Range("W36").AutoFill Destination:=Range("W36:W" & letzte - 2)
Range("H36").Select
End With
End Sub
Ich Bedanke mich schon mal ich voraus und wünsche noch einen schönen tag. :)
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Excel VBA wenn Wort richtig dann dieses Makro
09.10.2019 12:54:29
ChrisL
Hi Pascal
Hier zwei unterschiedliche Ansätze.
Sub t1()
If Bedingung1 = True Then
Call Makro1
ElseIf Bedingung2 = True Then
Call Makro2
Else
Call Makro3
End If
End Sub

'-------------------------------------------------------------------------
Sub t2()
Dim WS As Worksheet
If Bedingung1 = True Then
Set WS = Worksheets("Tabelle1")
ElseIf Bedingung2 = True Then
Set WS = Worksheets("Tabelle2")
Else
Set WS = Worksheets("Tabelle3")
End If
Call Mach(WS)
End Sub

Sub Mach(WS As Worksheet)
MsgBox "Führe den Prozess mit Blatt " & WS.Name & " aus."
End Sub
cu
Chris
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige