Microsoft Excel

Herbers Excel/VBA-Archiv

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

Wert in Spalte suchen und Zelle aktivieren


Betrifft: Wert in Spalte suchen und Zelle aktivieren von: Michael
Geschrieben am: 05.08.2016 14:24:25

Hallo zusammen,

sitze nun schon länger an meinem VBA-Code und finde nicht die richtige Lösung im Netz.

Ich möchte die Spalte H durchsuchen, nach einem Wert, den ich aus einer Zelle auslese. Als Rückinfo soll die Zeilennummer in eine Zelle geschrieben werden oder die entsprechende Zelle in der Spalte aktiviert werden.

Das klappt auch soweit, solange ein Wert vorhanden ist. Wenn der Wert nicht vorhanden ist kommt immer eine Fehlermeldeung.

Wer kann mir helfen?

Vielen Dank
Michael

Sub Codesuche()
  Dim Zeile As Long
  Dim Eingabe As String
  
Sheets("PLdat").Select
Range("h7").Select

Eingabe = Worksheets("Kunde").Cells(5, 4).Value

Zeile = Sheets("PLdat").Columns("h:h").Find(What:=Eingabe, After:=ActiveCell, LookIn:= _
xlFormulas, _
  LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
   MatchCase:=False, SearchFormat:=False).Row

  Range("d7").Value = Zeile
  Range("d7").Select

End Sub

  

Betrifft: AW: Wert in Spalte suchen und Zelle aktivieren von: Hajo_Zi
Geschrieben am: 05.08.2016 14:34:37

definiere Zeile as Range
lösche bei find .row
danach If not Zeile is Nothing then

GrußformelHomepage


  

Betrifft: AW: Wert in Spalte suchen und Zelle aktivieren von: Michael
Geschrieben am: 05.08.2016 14:44:01

Hallo Hajo,
vielen Dank für die schnelle Antwort. Leider passt es noch nicht. Habe wie folgt angepasst, aber nun kommt eine Fehlermeldung Objektvariable oder With-Blockvariable nicht festgelegt.

Sub Codesuche()
  Dim Zeile As Range
  Dim Eingabe As String
  
Sheets("PLdat").Select
Range("h7").Select

Eingabe = Worksheets("Kunde").Cells(5, 4).Value
   

Zeile = Columns("h:h").Find(What:=Eingabe, After:=ActiveCell, LookIn:=xlFormulas, _
  LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
   MatchCase:=False, SearchFormat:=False)
   
   
   If Not Zeile Is Nothing Then
   MsgBox ("Nicht vorhanden")
     End If
     
  Range("d7").Value = Zeile
  Range("d7").Select


End Sub
Viele Grüße Michael


  

Betrifft: AW: Wert in Spalte suchen und Zelle aktivieren von: Michael
Geschrieben am: 05.08.2016 14:50:39

Hallo Hajo,
habe eben bereits geantwortet ohne oben auf den Link zu gehen. Bin neu im Forum. Bitte schau dir doch nochmals meine Antwort an. Danke Michael


  

Betrifft: AW: Wert in Spalte suchen und Zelle aktivieren von: Hajo_Zi
Geschrieben am: 05.08.2016 14:55:20

ich hätte angenommen Du möchtest was in die Zelle schreiben falls gefunden. Du möchtest aber jetzt eine Msgbox mit dem Text "Nicht gefunden" obwohl gefunden.
Und den Fehler möchtest Du nicht Behandelt haben.

Ich kann Dir da Leider nicht weiter helfen, da ich die Aufgabe wohl Falsch verstanden habe.

Ich baue keine Datei nach. Die Zeit hat schon jemand investiert.

Ein Nachbau sieht meist anders aus als das Original.

Der Name einer hochgeladenen Mappe wird im Beitrag automatisch angezeigt, sodass es bei Verwendung von aussagekräftigen Namen leichter fällt, sie später im Ablageordner wiederzufinden und sie gedanklich einem bestimmten Thema zuzuordnen. Namen wie Test, Mappe, Beispiel usw. sind so allgemein, dass eine Zuordnung zu einem Thema unmöglich gemacht wird.

Gruß Hajo


  

Betrifft: AW: Wert in Spalte suchen und Zelle aktivieren von: Michael
Geschrieben am: 05.08.2016 15:27:45

Hallo Hajo,
ich erstelle eine Tabelle zur Planung. Dort werden Plandaten eingetragen. Diese Plandaten werden von einer Tabelle in eine nächste kopiert. Ist in dieser Tabelle bereits der Kunde vorhanden, sollen die Wert genau dort überschrieben werden.

Wenn nicht, soll die erste freie Zelle in der Spalte h gesucht werden und dort der Wert eingetragen werden. Ich wollte mit der Msgbox erstmal sehen ob es klappt und mich dann weiter an dem Code versuchen.

vielen Grüße

Michael


  

Betrifft: AW: Wert in Spalte suchen und Zelle aktivieren von: Werner
Geschrieben am: 05.08.2016 16:07:10

Hallo Michael,

Sub Codesuche()
Dim Zeile As Range
Dim Eingabe As String
     
Sheets("PLdat").Select
Range("h7").Select
   
Eingabe = Worksheets("Kunde").Cells(5, 4).Value      
   
Zeile = Columns("h:h").Find(What:=Eingabe, After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False)
            
If Not Zeile Is Nothing Then
   Range("D7").Value = Zeile.Row
   Range("D7").Select
Else
   MsgBox ("Nicht vorhanden")
End If
   
End Sub
Gruß Werner


  

Betrifft: AW: Wert in Spalte suchen und Zelle aktivieren von: Bastian
Geschrieben am: 06.08.2016 10:20:23

Hey Werner muss nicht "Set" vor "Zeile =" ?

Da wir die Zeile als "Range" gesetzt haben.

Gruß Basti


  

Betrifft: AW: Wert in Spalte suchen und Zelle aktivieren von: baschti007
Geschrieben am: 05.08.2016 14:35:43

oder so

Sub Codesuche()
  Dim Zeile As Long
  Dim Eingabe As String
  
Sheets("PLdat").Select
Range("h7").Select

Eingabe = Worksheets("Kunde").Cells(5, 4).Value
On Error GoTo xx
Zeile = Sheets("PLdat").Columns("h:h").Find(What:=Eingabe, After:=ActiveCell, LookIn:= _
xlFormulas, _
  LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
   MatchCase:=False, SearchFormat:=False).Row

  Range("d7").Value = Zeile
  Range("d7").Select
Exit Sub
xx:
MsgBox "Wert nicht gefunden " & Eingabe
 
End Sub



Beiträge aus den Excel-Beispielen zum Thema "Wert in Spalte suchen und Zelle aktivieren"