PDA

Vollständige Version anzeigen : Suche über mehrere Register...


Simela
10.03.2009, 16:43
Hallo liebe Freunde, :)

ich habe ein Problem mit Excel und bräuchte eure Hilfe! :)

Ich habe mehrere Register mit Daten (Hersteller, Lieferant usw.)
Jetzt würde ich gerne eine Suche einbauen der über alle Register sucht und
die Ergebnisse in der Tabelle "Suche" einfügt (kopiert).

Suchkriterium ist im meinem Fall der "Hersteller".
Ich habe eine Beispiel Datei drangehängt, so könnt Ihr mir besser verstehen! :)

Bitte, könnt Ihr mir da helfen? :rolleyes:

Liebe grüße
:) :) :)
Simela

IngGi
10.03.2009, 17:25
Hallo Simela,

folgendes Makro kommt in das Codemodul des Tabellenblattes Suche:

<div><link href="http://www.ms-office-forum.net/forum/externals/codeconv.css" rel="stylesheet"><pre><span class="TOKEN">Private Sub</span> Worksheet_Change(<span class="TOKEN">ByVal</span> Target <span class="TOKEN">As</span> Range)
&nbsp;
<span class="TOKEN">Dim</span> wks <span class="TOKEN">As</span> Worksheet
<span class="TOKEN">Dim</span> rng <span class="TOKEN">As</span> Range
<span class="TOKEN">Dim</span> strStartAdr <span class="TOKEN">As</span> <span class="TOKEN">String</span>
&nbsp;
&nbsp;
<span class="TOKEN">If</span> Target.Address = &quot;$F$3&quot; <span class="TOKEN">Then</span>
Me.Range(&quot;A9:L&quot; &amp; Rows.Count).ClearContents
<span class="TOKEN">For</span> <span class="TOKEN">Each</span> wks <span class="TOKEN">In</span> ThisWorkbook.Worksheets
<span class="TOKEN">If</span> wks.CodeName &lt;&gt; &quot;Tabelle1&quot; <span class="TOKEN">Then</span>
<span class="TOKEN">With</span> wks.Range(&quot;A:A&quot;)
<span class="TOKEN">Set</span> rng = .Find(Target)
<span class="TOKEN">If</span> <span class="TOKEN">Not</span> rng <span class="TOKEN">Is</span> <span class="TOKEN">Nothing</span> <span class="TOKEN">Then</span>
strStartAdr = rng.Address
<span class="TOKEN">Do</span>
<span class="TOKEN">If</span> Me.Cells(Rows.Count, 1).End(xlUp).Row &lt; 9 <span class="TOKEN">Then</span>
rng.EntireRow.Copy Me.Range(&quot;A9&quot;)
<span class="TOKEN">Else</span>
rng.EntireRow.Copy Me.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0)
<span class="TOKEN">End</span> <span class="TOKEN">If</span>
<span class="TOKEN">Set</span> rng = .FindNext(rng)
<span class="TOKEN">Loop</span> <span class="TOKEN">While</span> <span class="TOKEN">Not</span> rng <span class="TOKEN">Is</span> <span class="TOKEN">Nothing</span> <span class="TOKEN">And</span> rng.Address &lt;&gt; strStartAdr
<span class="TOKEN">End</span> <span class="TOKEN">If</span>
<span class="TOKEN">End</span> <span class="TOKEN">With</span>
<span class="TOKEN">End</span> <span class="TOKEN">If</span>
<span class="TOKEN">Next</span> <span class="REM">'wks</span>
<span class="TOKEN">End</span> <span class="TOKEN">If</span>
&nbsp;
<span class="TOKEN">End</span> <span class="TOKEN">Sub</span>&nbsp;</pre></div>
Code eingefügt mit dem MOF Code Converter (http://www.ms-office-forum.net/forum/codeconverter.php)

Die Summe in L3 bekommst du einfach über die Summenformel =SUMME(INDIREKT("L9:L"&ZEILEN(A:A))).

Gruß Ingolf

Simela
11.03.2009, 10:40
Vielen Dank, Ingolf. :)