Microsoft Excel

Herbers Excel/VBA-Archiv

mehrere Werte suchen Match SCHWIERIG!!! | Herbers Excel-Forum


Betrifft: mehrere Werte suchen Match SCHWIERIG!!! von: MarkusB.
Geschrieben am: 02.02.2010 01:49:40

Hallo allerseits!
Ich habe folgendes Problem:

Ich möchte das Workbook durchsuchen lassen. Die Werte die abgeglichen werden befinden sich auf dem ersten Sheets(1) in Spalte C. In diesem Fall 001 bis z.B. 321. Wenn eine Übereinstimmung auf den folgenden Sheets vorliegt (die Werte befinden sich auch in Spalte C der jeweiligen Sheets) soll an dieser Stelle in einem festgelegten Bereich (z.B. Treffer bei Sheet(3).Range("C8") dann soll im Sheet(3).Range("E8:V8") ein Wert, in diesem Fall nach dem Betrag gesucht werden z.B: 1.234,56 Euro -->if Range("E8:V8").value <> 0 then ...
Dieser Wert soll dann kopiert werden und in das erste Sheets(1) in einem Festgelegten Bereich, in diesem Beispiel M8 eingefügt werden. Wichtig sind dabei die Identischen Zeilen, in diesem Beispiel 8 (i = 8)

Der Code den ich hab klappt nicht, irgendwie werden die Schleifen nicht richtig durchlaufen... bekomme immer nur einen Wert von einem Sheet kopiert und nicht alle!!! Ich glaube Case ist falsch gesetzt...

Kann mir jemand helfen?

Vielen Dank!!!

MarkusB.

Sub teste()
    Dim n As Integer, i As Integer, test, wks As Worksheet
    Dim rng As Object



    Application.ScreenUpdating = False

    With Sheets(1)

      For i = 12 To .Cells(Rows.Count, 3).End(xlUp).Row

        For n = 2 To Worksheets.Count

          Set wks = Worksheets(n)

          test = Application.Match(.Cells(i, 3), wks.Columns(3), 0)

          If Not IsError(test) Then

   
        Select Case n ' Hier soll geprüft werden welches wks
            Case Is = 2
              
               rng = wks.Range(wks.Cells(test, 5), wks.Cells(test, 19))
               
               If Len(rng.Value) <> 0 Then
            
               rng.Copy
               Sheets(1).Range("M" & i).Activate
               Selection.PasteSpecial Paste:=xlPasteAllExceptBorders, Operation:=xlNone,  _
SkipBlanks:=False, Transpose:=False
               End If
            
            Case Is = 3
         
                
                For Each rng In _
                Worksheets(n).Range(Worksheets(n).Cells(test, 5), _
                Worksheets(n).Cells(test, 13))
               
               If Len(rng.Value) <> 0 Then
            
               rng.Copy
               Sheets(1).Activate
               Range("N" & i).Activate
               Selection.PasteSpecial Paste:=xlPasteAllExceptBorders, Operation:=xlNone,  _
SkipBlanks:=False, Transpose:=False
               End If
                
               Next
               
        End Select

        End If
    
        Next n

      Next i

    End With

    Application.ScreenUpdating = True

  End Sub

  

Betrifft: AW: mehrere Werte suchen Match SCHWIERIG!!! von: Rene
Geschrieben am: 02.02.2010 15:05:36

Hallo Markus,

ersetze

rng = wks.Range(wks.Cells(test, 5), wks.Cells(test, 19))

durch

For Each rng In wks.Range(wks.Cells(test, 5), wks.Cells(test, 19))

und "Next" vor Case is=3 nicht vergessen.

Dann sollte es klappen.

Gruß Uppe


  

Betrifft: AW: mehrere Werte suchen Match SCHWIERIG!!! von: MarkusB.
Geschrieben am: 04.02.2010 22:48:34

Hi Rene,

vielen Dank für deine Antwort, war der richtige Hinweis... :-) SUPER!
Das Forum ist echt sehr Hilfreich!

Viele Grüße
Markus B.


  

Betrifft: AW: mehrere Werte suchen Match SCHWIERIG!!! von: MarkusB.
Geschrieben am: 04.02.2010 22:50:16

Hi Rene!

Vielen Dank für deine Antwort, war der richtige Hinweis...! :-)
Das Forum ist echt sehr hilfreich!

Viele Grüße!
MarkusB.


Beiträge aus den Excel-Beispielen zum Thema "mehrere Werte suchen Match SCHWIERIG!!!"