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

Rot anzeigen

Rot anzeigen
13.07.2017 05:53:09
Siggi
Hallo zusammen,
ich möchte diesen bereits vorhanden code umschreiben, das er ab F3 die roten Zeilen anzeigt, die mit bedingter Formatierung hinterlegt ist. Oder wenn der Text "bitte prüfen" vorhanden ist.
Bedingte Formatierung wäre = rot, wenn bitte prüfen steht.
Dahinter steckt eine Formel.
Wäre sowas möglich:
Private Sub Cmd_rot_Click()  ' rot anzeigen im Personal
Dim lngNumber As Long
If Cmd_rot.Caption = "Alle anzeigen" Then
'If Me.AutoFilterMode Then Me.ShowAllData
Me.ShowAllData
Me.AutoFilterMode = False
Cmd_rot = "Kundennummer suchen"
Else
lngNumber = Application.InputBox("rot anzeigen", "fehler", Type:=1)
If Not lngNumber = False Then
If IsNumeric(Application.Match(lngNumber, Me.Columns(1), 0)) Then
Me.Range("A1").CurrentRegion.AutoFilter Field:=1, Criteria1:=lngNumber, Operator:= _
xlAnd, VisibleDropDown:=False
Cmd_rot.Caption = "Alle anzeigen"
Else
If MsgBox("Bitte prüfen!" & vbLf & vbLf & "Neuer Versuch?", 52, "fehler") = vbYes Then  _
Cmd_rot.Caption = True
End If
End If
End If
End Sub
anschließend möchte ich diesen Code nicht in der MAppe lassen, sondern im Hauptexcel Personal.
Das heißt den Button in der Datei soll so angesteuert werden:
Private Sub Cmd_rot_Click()
Application.Run "Personal.xlsm!rot anzeigen"
End Sub

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Rot anzeigen
13.07.2017 12:05:25
fcs
Hallo Siggi,
hier dein Makro mit Anpassungen
Gruß
Franz

Private Sub Cmd_rot_Click()  ' rot anzeigen im Personal
Application.Run "PERSONAL.XLSB!rot_anzeigen"   'Name der persönlichen Makroarbeitsmappe ggf. _
anpassen
End Sub
'Makro in einem allgemeinen Modul der persönlichen Makroarbeitsmappe
Public Sub rot_anzeigen()
Dim wks As Worksheet
Dim objButton As Object
Set wks = ActiveSheet
Set objButton = wks.OLEObjects("Cmd_rot").Object
If objButton.Caption = "Alle anzeigen" Then
'If wks.AutoFilterMode Then wks.ShowAllData
If wks.FilterMode = True Then
wks.AutoFilterMode = False
End If
objButton.Caption = "Filtern Farbe rot"
Else
wks.Range("A1").CurrentRegion.AutoFilter Field:=6, Criteria1:=RGB(255, 0, 0), _
Operator:=xlFilterCellColor, VisibleDropDown:=False
'        wks.Range("A1").CurrentRegion.AutoFilter Field:=6, Criteria1:="Bitte prüfen", _
Operator:=xlAnd, VisibleDropDown:=False
objButton.Caption = "Alle anzeigen"
End If
End Sub

Anzeige
AW: Rot anzeigen
14.07.2017 07:20:20
Siggi
Hallo Franz, danke es funktioniert.
Eine Frage noch.
Wie kann ich diesen Code:
Private Sub Cmd_rot_Click()  ' rot anzeigen im Personal
Dim lngNumber As Long
If Cmd_rot.Caption = "Alle anzeigen" Then
'If Me.AutoFilterMode Then Me.ShowAllData
Me.ShowAllData
Me.AutoFilterMode = False
Cmd_rot = "Kundennummer suchen"
Else
lngNumber = Application.InputBox("rot anzeigen", "fehler", Type:=1)
If Not lngNumber = False Then
If IsNumeric(Application.Match(lngNumber, Me.Columns(1), 0)) Then
Me.Range("A1").CurrentRegion.AutoFilter Field:=1, Criteria1:=lngNumber, Operator:= _
xlAnd, VisibleDropDown:=False
Cmd_rot.Caption = "Alle anzeigen"
Else
If MsgBox("Bitte prüfen!" & vbLf & vbLf & "Neuer Versuch?", 52, "fehler") = vbYes Then  _
_
Cmd_rot.Caption = True
End If
End If
End If
End Sub

ansteuern, das ich den auch über
Private Sub Cmd_rot_Click()
Application.Run "Personal.xlsm!rot anzeigen"
End Sub
ansteuern kann.
Was müsste ich hinzufügen. So das ich nach Kunden suchen kann usw...
Anzeige
AW: Rot anzeigen
14.07.2017 11:39:54
fcs
Hallo Siggi,
ich hab die Suche nach der Nummer in Spalte A ergänzt.
Nach was gesucht werden soll musst su dann in der zwischengeschalteten Message-Box auswählen.
Die erneute Suche nach einer Nummer erfolgt jetzt ohne Anpassung des Schaltflächen-Textes - es wird sofort wieder die Eingabe-Box angezeigt.
Gruß
Franz

Private Sub Cmd_rot_Click()  ' rot anzeigen im Personal
Application.Run "PERSONAL.XLSB!rot_anzeigen"
End Sub
'Makro in einem allgemeinen Modul der persönlichen Makroarbeitsmappe
Public Sub rot_anzeigen()
Dim wks As Worksheet
Dim objButton As Object
Dim lngNumber As Variant
Set wks = ActiveSheet
Set objButton = wks.OLEObjects("Cmd_rot").Object
Select Case objButton.Caption
Case "Alle anzeigen"
'If wks.AutoFilterMode Then wks.ShowAllData
If wks.FilterMode = True Then
wks.AutoFilterMode = False
End If
objButton.Caption = "Filtern rot"
Case "Filtern rot"
Select Case MsgBox("Was filtern?" & vbLf & vbLf _
& "Ja = Filtern nach Rot in Spalte F" & vbLf _
& "Nein = Filtern nach Nummer in Spalte A" & vbLf _
& "Abbrehen = Nicht Filtern", vbYesNoCancel + vbQuestion, "Filtern")
Case vbYes
wks.Range("A1").CurrentRegion.AutoFilter Field:=6, Criteria1:=RGB(255, 0, 0), _
Operator:=xlFilterCellColor, VisibleDropDown:=False
'        wks.Range("A1").CurrentRegion.AutoFilter Field:=6, Criteria1:="Bitte prüfen",  _
_
Operator:=xlAnd, VisibleDropDown:=False
objButton.Caption = "Alle anzeigen"
Case vbNo
Suchen_Nummer:
lngNumber = Application.InputBox("Nummer - rot anzeigen", "fehler", Type:=1)
If Not lngNumber = False Then
If IsNumeric(Application.Match(lngNumber, wks.Columns(1), 0)) Then
wks.Range("A1").CurrentRegion.AutoFilter Field:=1, Criteria1:=lngNumber, _
Operator:=xlAnd, VisibleDropDown:=False
objButton.Caption = "Alle anzeigen"
Else
If MsgBox("Bitte prüfen!" & vbLf & vbLf & "Neuer Versuch?", 52, _
"fehler") = vbYes Then
GoTo Suchen_Nummer
End If
End If
End If
Case vbCancel
'do nothing
End Select
Case Else
MsgBox "Fehler bei der Beschriftung der Schaltfläche"
objButton.Caption = "Alle anzeigen"
End Select
End Sub

Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige