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

Bei Suche Groß/Kleinschreibung egal

Bei Suche Groß/Kleinschreibung egal
Wolfgang
Hallo,
den nachfolgenden Code erhielt ich hier aus dem Forum. Er läuft auch soweit sehr gut. Der Querverweis auf Schaltfläche 1 bewirkt dabei lediglich einen Refresh und ist, so glaube ich, für meine Frage nicht erheblich. Ich würde nämlich gerne erreichen, dass die Schreibweise des Suchbegriffs in Groß oder Kleinschreibung nicht erheblich ist. Wie kann ich den folgenden Code entsprechend anpassen? Danke schon jetzt für die Rückmeldungen.
Gruß - Wolfgang

Option Explicit
Sub SuchenKopieren()
Static Suchbegriff As String
Dim Zelle As Variant, ErsteAdresse As String
Dim letzteZeile As Integer
Dim wksQuelle As Worksheet
Dim wksZiel As Worksheet
Dim rng As Range
Set wksQuelle = Worksheets("Maßnahmen")
Set wksZiel = Worksheets("Einstellungen")
Application.ScreenUpdating = False
'bewirkt Refresh
Sheets("Einstellungen").CommandButton1 = True
'Suche beginnen
Suchbegriff = InputBox(Prompt:="Bitte Suchbegriff eingeben." & vbLf & _
"Bitte Groß und Kleinschreibung beachten!", Default:=Suchbegriff)
If Suchbegriff = "" Then
MsgBox "Es wurde kein Suchbegriff eingegeben.", vbCritical
Exit Sub
End If
With wksQuelle
'Überschriftenzeile kopieren ...
.Range("A1:K1").Copy Destination:=wksZiel.Range("A14")
'Suche in Spalte F
Set Zelle = .Columns(6).Find(What:="*" & Suchbegriff & "*", After:=.Range("F1"), _
LookIn:=xlValues, lookat:=xlWhole, _
SearchOrder:=xlNext, MatchCase:=True)
If Not Zelle Is Nothing Then
ErsteAdresse = Zelle.Address
letzteZeile = 15
Do
'gefundenen Zeile Spalten A bis K kopieren in nächste Zeile im Zielblatt
.Range(.Cells(Zelle.Row, 1), .Cells(Zelle.Row, 11)).Copy _
Destination:=wksZiel.Cells(letzteZeile, 1)
'Suche wiederholen
Set Zelle = .Columns(6).FindNext(Zelle)
letzteZeile = letzteZeile + 1
Loop While Not Zelle Is Nothing And Zelle.Address  ErsteAdresse
End If
End With
For Each rng In Range("A14").CurrentRegion.Rows
If rng.Row Mod 2 = 0 Then rng.Interior.ColorIndex = 15
Next
wksZiel.Select
Range("G4").Select
Application.ScreenUpdating = True
End Sub

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
MatchCase:=False o.T.
10.10.2011 20:37:42
Josef
« Gruß Sepp »

Danke Josef!!
10.10.2011 20:54:41
Wolfgang
Hallo Josef,
Danke für die Meldung und den Hinweis. Habe den Code angepasst und es klappt super!
Gruß - Wolfgang
Eine Frage noch - Begriff nicht gefunden
10.10.2011 21:13:28
Wolfgang
Hallo Josef,
ich habe noch weiter probiert und getestet. Das mit der Groß/Kleinschreibung klappt super. Mir fiel beim probieren nur ein, ob es denkbar sein könnte, dass wenn der Suchbegriff nicht gefunden wird, eine MsgBox erscheint und die Überschrift, die ja schon vorher in A14 hineinkopiert wird, wieder gelöscht wird. Wenn Du mir da noch einen Hinweis geben könntest, an welcher Stelle ich da den Code anpassen kann? - Danke schon jetzt für Deine Rückmeldung.
Gruß - Wolfgang
Anzeige
AW: Eine Frage noch - Begriff nicht gefunden
10.10.2011 21:31:03
Josef

Hallo Wolfgang,

Sub SuchenKopieren()
  Static Suchbegriff As String
  Dim Zelle As Variant, ErsteAdresse As String
  Dim letzteZeile As Integer
  Dim wksQuelle As Worksheet
  Dim wksZiel As Worksheet
  Dim rng As Range
  Set wksQuelle = Worksheets("Maßnahmen")
  Set wksZiel = Worksheets("Einstellungen")
  Application.ScreenUpdating = False
  'bewirkt Refresh
  Sheets("Einstellungen").CommandButton1 = True
  'Suche beginnen
  Suchbegriff = InputBox(Prompt:="Bitte Suchbegriff eingeben." & vbLf & _
    "Bitte Groß und Kleinschreibung beachten!", Default:=Suchbegriff)
  If Suchbegriff = "" Then
    MsgBox "Es wurde kein Suchbegriff eingegeben.", vbCritical
    Exit Sub
  End If
  
  With wksQuelle
    'Suche in Spalte F
    Set Zelle = .Columns(6).Find(What:="*" & Suchbegriff & "*", After:=.Range("F1"), _
      LookIn:=xlValues, lookat:=xlWhole, _
      SearchOrder:=xlNext, MatchCase:=True)
    If Not Zelle Is Nothing Then
      'Überschriftenzeile kopieren ...
      .Range("A1:K1").Copy Destination:=wksZiel.Range("A14")
      ErsteAdresse = Zelle.Address
      letzteZeile = 15
      Do
        'gefundenen Zeile Spalten A bis K kopieren in nächste Zeile im Zielblatt
        .Range(.Cells(Zelle.Row, 1), .Cells(Zelle.Row, 11)).Copy _
          Destination:=wksZiel.Cells(letzteZeile, 1)
        
        'Suche wiederholen
        Set Zelle = .Columns(6).FindNext(Zelle)
        letzteZeile = letzteZeile + 1
      Loop While Not Zelle Is Nothing And Zelle.Address <> ErsteAdresse
    Else
      MsgBox "Nada!"
    End If
  End With
  For Each rng In Range("A14").CurrentRegion.Rows
    If rng.Row Mod 2 = 0 Then rng.Interior.ColorIndex = 15
  Next
  wksZiel.Select
  Range("G4").Select
  Application.ScreenUpdating = True
End Sub




« Gruß Sepp »

Anzeige
erneut herzlichen Dank!!
10.10.2011 21:57:44
Wolfgang
Hallo Josef,
erneut herzlichen Dank für Deine Rückmeldung und Ergänzung im Code. Hat mir sehr weitergeholfen!!
Gruß - Wolfgang
AW: Bei Suche Groß/Kleinschreibung egal
10.10.2011 20:41:18
Hajo_Zi
Hallo Wolgang,
unter Option Explicit
Option compare Text

Danke HaJo
10.10.2011 20:58:22
Wolfgang
Hallo Hajo,
herzlichen Dank auch Dir für die schnelle Rückmeldung. Ich habe den Hinweis von Josef aufgegriffen, da sich dieser Passus bereits im Code befand, konnte ihn dabei allerdings nicht deuten. Nun habe ich auch da wieder hinzugelernt. In dem Sinne nochmals tausend Dank!
Gruß - Wolfgang
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige