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

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. :)

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

311 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige