Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

Select und Überflüssiges | Herbers Excel-Forum


Betrifft: Select und Überflüssiges von: Rudolf
Geschrieben am: 13.11.2009 14:30:04

Hallo an das Forum,

ich benötige mal wieder euren Rat.
Diese Aufzeichnung mit dem Recorder lässt sich doch bestimmt eleganter darstellen.

Gesucht werden soll der erste Buchstabe eines Namens in Spalte B5:B400, A*,B*,C*.......Y*,
jederm Buchstaben habe ich eine Autoform zugeordnet.
Wenn ich also z.B auf die Autof. mit (H) klicke, soll der ersten Namen mit (H******) Selectiert werden.

Das klappt auch alles. Elegant ist das aber sicher nicht.

Kann/möchte mir jemand Helfen?

Viel Dank

Sub HHH()

On Error GoTo Meldung
    Range("B5:B400").Select
    Selection.Find(What:="H*", After:=ActiveCell, LookIn:=xlFormulas, LookAt _
        :=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
        False, SearchFormat:=False).Activate
    
    ActiveCell.Select
    GoTo Ende
Meldung:
    Range("A4").Select
    MsgBox "Wert wurde nicht gefunden!"
    
Ende:
    
End Sub

  

Betrifft: AW: Select und Überflüssiges von: IngGi
Geschrieben am: 13.11.2009 14:54:16

Hallo Rudolf,

so würde ich das wohl machen:

Sub HHH()

Dim rng As Range

Set rng = Range("B5:B400").Find(What:="H*")
If rng Is Nothing Then
  Range("A4").Select
  MsgBox "Wert wurde nicht gefunden!"
Else
  rng.Select
End If

End Sub
Gruß Ingolf


  

Betrifft: AW: fehlende Parameter bei FIND von: Daniel
Geschrieben am: 13.11.2009 15:00:28

HI

das so start zu verkürzen, ist ein bisschen gefährlich, denn wenn für .FIND die Parameter LookIn, LookAt, SearchFormat nicht angegeben werden, dann werden die Einstellungen der letzten Suche verwendet, und das kann dann schon zu unerwünschten Ergebnissern führen, wenn die anders waren als man es jetzt gerade braucht.
Daher ist es besser, diese immer mit anzugeben.

Gruß, Daniel

ps. SerachFormat spare ich mir meisten, da verändert man nicht so oft was, die anderen Parameter werden öfters mal verstellt.

Gruß, Daniel


  

Betrifft: AW: fehlende Parameter bei FIND von: IngGi
Geschrieben am: 13.11.2009 15:28:32

Hallo zusammen,

stimmt Daniel, an diese Besonderheit der Find-Methode hatte ich gar nicht mehr gedacht. Der Parameter LookAt:=xlWhole sollte unbedingt mit angegeben werden. Auf LookIn könnte man verzichten, wenn man ganz sicher ist, dass im durchsuchten Bereich keine Formeln vorkommen. SearchFormat gehört aber laut Excel-VBA-Hilfe nicht zu den gespeicherten Parametern, sondern SearchOrder. Auf SearchOrder kann man hier verzichten, da ja nur eine Spalte durchsucht wird und die Matrix somit eindimensional ist.

Gruß Ingolf


  

Betrifft: AW: fehlende Parameter bei FIND von: Rudolf
Geschrieben am: 13.11.2009 16:45:57

Vielen Dank, für die schnelle Hilfe, an Ingolf und Daniel.

Es klappt wunderbar


Schönes Wochenende, auch an den Rest des tollen Forums

Rudolf


  

Betrifft: AW: Select und Überflüssiges von: Daniel
Geschrieben am: 13.11.2009 14:55:25

HI

naja, man kann immer statt

Range("xxx").Select
Selection.Value =""

schreiben:

Range("xxx").Value = ""

weiteres erfährst du hier
http://www.online-excel.de/excel/singsel_vba.php?f=78

Gruß, Daniel


Beiträge aus den Excel-Beispielen zum Thema "Select und Überflüssiges"