Microsoft Excel

Herbers Excel/VBA-Archiv

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

Suchen einsetzten | Herbers Excel-Forum


Betrifft: Suchen einsetzten von: Julia Schmidt
Geschrieben am: 14.12.2009 09:38:20

Hallo,

ich hab im Tabellenblat "Input" meine Basis. Dort steht in Spalte A der Schlüssel. Daneben B-J stehen Informationen zu diesem Schlüssel.

In einem anderen Tabellenblatt "Auftrag" schreibe ich jetzt einen von mir ausgesuchten Schlüssel händisch rein (in Spalte A).

Jetzt brauch ich ein Makro welches mir bestimmte Daten aus dem Blatt "Input" in das Blatt "Auftrag" übernimmt.

Also in Auftrag schreibe ich zum Beispiel "Schlüssel-12" dann soll das Makro in im Blatt "Input" Schlüssel 12 suchen. Und spalte H und I in die Spalte B und C von "Auftrag" importieren.
Findet das Makro den Schlüssel nicht, dann soll eine MsgBox darüber infomrieren.

Eine Idee?

  

Betrifft: AW: Suchen einsetzten von: Hajo_Zi
Geschrieben am: 14.12.2009 09:46:23

Hallo Julia,

warum Makro?
benutze doch SVERWEIS(), ich vermute den Schlüssel giibt es nur 1x
http://www.kmbuss.de/Excel-CD/sverweis.html

GrußformelHomepage


  

Betrifft: AW: Suchen einsetzten von: Julia Schmidt
Geschrieben am: 14.12.2009 09:53:41

Weil es auf Knopfdruck dazugeschrieben werden soll
Ist leichter für die Sachbearbeitung
Wäre das mit Makro möglich?


  

Betrifft: AW: Suchen einsetzten von: Uduuh
Geschrieben am: 14.12.2009 09:54:46

Hallo,
im Code von "Auftrag"

Private Sub Worksheet_Change(ByVal Target As Range)
  Dim varA, varB
  On Error GoTo ERRHDL
  If Target.Column = 1 Then
    Application.EnableEvents = False
    varA = Application.VLookup(Target.Value, Sheets("input").Range("A:J"), 8, 0)
    varB = Application.VLookup(Target.Value, Sheets("input").Range("A:J"), 9, 0)
    If IsError(varA) Or IsError(varB) Then
      MsgBox "Fehler", , ""
    Else
      Target.Offset(, 1) = varA
      Target.Offset(, 2) = varB
    End If
  End If
ERRHDL:
  Application.EnableEvents = True
End Sub
Gruß aus’m Pott
Udo



  

Betrifft: AW: Suchen einsetzten von: Tino
Geschrieben am: 14.12.2009 09:58:02

Hallo,
teste mal diesen Code

kommt als Code in die Tabelle Auftrag

Option Explicit 
 
Private Sub Worksheet_Change(ByVal Target As Range) 
Dim rngBereich As Range 
Dim varRow 
 
'Zelle anpassen wo Du reinschreiben möchtest, hier A2 
If Target(1).Address = "$A$2" Then 
   varRow = Application.Match(Target(1).Value, Sheets("Input").Columns(1), 0) 
   If IsNumeric(varRow) Then 
        Application.EnableEvents = False 
            Cells(Target.Row, 2) = Sheets("Input").Cells(varRow, 8) 
            Cells(Target.Row, 3) = Sheets("Input").Cells(varRow, 9) 
        Application.EnableEvents = True 
   Else 
        MsgBox Target(1).Value & " wurde nicht gefunden" 
   End If 
End If 
End Sub 
 



Gruß Tino


  

Betrifft: Mit Bsp xls von: Julia Schmidt
Geschrieben am: 14.12.2009 11:14:41

Hi,

habe eine Bsp hochgeladen:

https://www.herber.de/bbs/user/66564.zip


Kann man das Makro auch über einen Button starten?

Im gelben Feld wird händisch eingetragen. Ort und Bearbeiter werden aus Input gezogen.
Wenn es den händisch eingetragenen Schlüssel in Input nicht gibt soll eine MsgBox informieren.

Julia


  

Betrifft: AW: Mit Bsp xls von: Tino
Geschrieben am: 14.12.2009 11:28:38

Hallo,
so mit einem Button

https://www.herber.de/bbs/user/66565.xls


Gruß Tino


  

Betrifft: Danke Danke Danke von: Julia Schmidt
Geschrieben am: 14.12.2009 12:14:10

Klappt super ;)


Beiträge aus den Excel-Beispielen zum Thema "Suchen einsetzten"