Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

List Box zur Suchfunktion erweitern
#1
Hallo,

ich habe eine Suchfunktion eingebaut die ich per Schaltfläche aktiviere,

ich würde gerne die gesamten Ergebnisse separat in einer List box angezeigt bekommen.

dazu immer die nebenstehenden Werte in den Spalten in meinem fall immer B,C,D in der selben Zeilen höhe mit angezeigt bekommen

hier mein Code

DANKE

 Sub Suchfunktion()
  Dim bFound As Boolean, bCancel As Boolean
  Dim rC As Range
  Dim tAddr As String
  Dim tSearch As String
  tSearch = InputBox("Suche nach:", "Suchen")
  If tSearch = "" Then Exit Sub
  With ActiveSheet.Cells
      Set rC = .Find(tSearch, LookIn:=xlValues)
      If Not rC Is Nothing Then
          tAddr = rC.Address
          Do
              rC.Select
              rC.Interior.ColorIndex = 4
              bCancel = MsgBox("Artikel:" & rC.Value, vbRetryCancel) = vbCancel
              rC.Interior.ColorIndex = 2
              bFound = True
              Set rC = .FindNext(rC)
          Loop While Not rC Is Nothing And rC.Address <> tAddr And Not bCancel
      End If
  End With
  If Not bFound Then MsgBox "Begriff [" & tSearch & "] nicht gefunden!"
End Sub
Antworten Top
#2
PS: ich kann die Suchfunktion nicht ausführen, wenn der Blattschutz aktiviert ist, gibt es hierfür noch Abhilfe ?

DANKE
Antworten Top
#3
Hallo,

hier hast Du doch einen Ansatz erhalten. Und wegen dem Blattschutz. Entferne ihn und setze ihn danach wieder.
Gruß Stefan
Win 10 / Office 2016
Antworten Top
#4
hallo,

ja danke , aber es funktioniert nicht

hier zeigt er mir einen Fehler an

 listbox1.AddItem r.Value
Antworten Top
#5
Hallo,

ich wußte ja nicht, wie deine Listbox heißt darum habe ich sie als ListBox1 bezeichnet. Das mußt Du natürlich anpassen.
Gruß Stefan
Win 10 / Office 2016
Antworten Top
#6
Hallo,

(14.12.2016, 10:06)AndyExcel77 schrieb: hallo,

ja danke , aber es funktioniert nicht

hier zeigt er mir einen Fehler an

 listbox1.AddItem r.Value

den Fehler hattest Du dann aber auch schon da, ohne jedoch darauf hinzuweisen.
Es gibt halt keine Variable r, eher rC.

Gruß Uwe
Antworten Top
#7
(14.12.2016, 10:25)Kuwer schrieb: Hallo,


den Fehler hattest Du dann aber auch schon da, ohne jedoch darauf hinzuweisen.
Es gibt halt keine Variable r, eher rC.

Gruß Uwe

Hey auch mit rC. funktioniert es nicht, die spalte wird mir als Fehler angezeigt..

eine mehrspaltige List box mit ROW Source Eigenschaften wäre wohl auch geeigneter

trotzdem vielen dank für die mühen :=)
Antworten Top
#8
(14.12.2016, 09:53)Steffl schrieb: Hallo,

hier hast Du doch einen Ansatz erhalten. Und wegen dem Blattschutz. Entferne ihn und setze ihn danach wieder.

Hallo,

das mit dem Blattschutz funktioniert nicht, bitte um Hilfe.
Antworten Top
#9
Hallo,

wieso sollte das nicht funktionieren?

PHP-Code:
Sub Suchfunktion()
  
Dim bFound As BooleanbCancel As Boolean
  Dim rC 
As Range
  Dim tAddr 
As String
  Dim tSearch 
As String
  tSearch 
InputBox("Suche nach:""Suchen")
  If 
tSearch "" Then Exit Sub
  ActiveSheet
.Unprotect Password:="Dein Passwort" 'Bitte auf dein tatsächliches Passwort abändern!
  With ActiveSheet.Cells
      Set rC = .Find(tSearch, LookIn:=xlValues)
      If Not rC Is Nothing Then
          tAddr = rC.Address
          Do
              rC.Select
              rC.Interior.ColorIndex = 4
              bCancel = MsgBox("Artikel:" & rC.Value, vbRetryCancel) = vbCancel
              rC.Interior.ColorIndex = 2
              bFound = True
              Set rC = .FindNext(rC)
          Loop While Not rC Is Nothing And rC.Address <> tAddr And Not bCancel
      End If
  End With
  ActiveSheet.Protect Password:="Dein Passwort" '
Bitte auf dein tatsächliches Passwort abändern!
  If 
Not bFound Then MsgBox "Begriff [" tSearch "] nicht gefunden!"
End Sub 
Gruß Stefan
Win 10 / Office 2016
[-] Folgende(r) 1 Nutzer sagt Danke an Steffl für diesen Beitrag:
  • AndyExcel77
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste