Tabellenblatt Name u. Wert suchen in Mappe

Hallo,

ich habe eine Exceltabelle, ein Geschäftsbuch sozusagen, mit 3 Spalten, in der 1. Spalte sind die Blätternamen einer anderen Excetabelle, der Kundentabelle, in de 2. Spalte sind Werte dieser anderen Kundentabelle, also die Kundennamen, diese sind jedoch manuell eingetragen worden und somit nicht verknüfpt, und sie werden stets aktualisiert, also immer mehr neue hinzugefügt, denn es erfolgt in der Geschäftsbuchtabelle ein Eintrag pro Geschäftsfall.

Nun muss, ähnlich wie bei einem SVerweis, in der 3. Spalte des Gechäftsbuchs in jede Zelle die Kundennr. eingeholt werden, die in der Kundentabelle steht.
Excel müsste wohl suchen in der Kundentabelle nach dem Blattnamen -Blattnamen sind die Alphabetbuchstaben-, wenn es gefunden wird muss Excel in dem gefunden Blatt reinschauen und den S-Verweis durchführen, also den Kundennamen finden und mir die Kundennr. in der Gechäftsbuchtabelle liefern. Jeder Eintrag der Kundentabelle ist einzigartig.

Ich habe hier ein Makro für etwas komplett anderes, was aber mit bischen Umbau evtl. den Zweck erfüllen würde, da ich mich nicht mit VBA auskenne, kann ich dies nicht selber tun.
Hier ist das Makro:

Sub SucheInGesamtMappe()

’ SucheInAllenArbeitsMappeBlättern Makro
’ …

’ Tastenkombination: Strg+M

Set startsheet = ActiveSheet
Dim t As Worksheet, z As Range, SuchW As String, counter As Integer, ausgabe As String, knopf As Integer
counter = 0
SuchW = InputBox(„Suchen nach:“, „Eingabe Suchbegriff“, „“)
If SuchW = „“ Then Exit Sub
For Each t In Worksheets
t.Activate
Set z = t.Cells.Find(SuchW)
If Not z Is Nothing Then
erste = z.Address
Do
z.Activate
counter = counter + 1
i = MsgBox(„Weitersuchen?“, vbYesNo + vbQuestion)
If i = vbNo Then Exit Sub
Set z = Cells.FindNext(after:=ActiveCell)
Loop Until erste = z.Address
End If
Next t
startsheet.Activate
If counter = 0 Then ausgabe = „Kein Ergebnis“ Else ausgabe = „Suchbegriff " & counter & " mal gefunden in der Arbeitsmappe.“
If counter = 0 Then knopf = 16 Else knopf = 64
MsgBox prompt:=ausgabe, Buttons:=knopf, Title:=„Information“
End Sub

[MOD] - Änderung auf eigenen Wunsch.

So ungefähr sieht die Tabelle aus:

Kunde (Geschäftsbuch)/ Blattnamen d. Kundentabelle/ Kundennummer
Musterkunde 1 / A - 01 / ?
Musterkunde 2 / B – 02 / ?

Gruss
Kathy

Hallo,

ich habe eine Exceltabelle, ein Geschäftsbuch sozusagen, mit 3
Spalten, in der 1. Spalte sind die Blätternamen einer anderen
Excetabelle, der Kundentabelle, in de 2. Spalte sind Werte
dieser anderen Kundentabelle, also die Kundennamen, diese sind
jedoch manuell eingetragen worden und somit nicht verknüfpt,
und sie werden stets aktualisiert, also immer mehr neue
hinzugefügt, denn es erfolgt in der Geschäftsbuchtabelle ein
Eintrag pro Geschäftsfall.

Nun muss, ähnlich wie bei einem SVerweis, in der 3. Spalte des
Gechäftsbuchs in jede Zelle die Kundennr. eingeholt werden,
die in der Kundentabelle steht.
Excel müsste wohl suchen in der Kundentabelle nach dem
Blattnamen -Blattnamen sind die Alphabetbuchstaben-, wenn es
gefunden wird muss Excel in dem gefunden Blatt reinschauen und
den S-Verweis durchführen, also den Kundennamen finden und mir
die Kundennr. in der Gechäftsbuchtabelle liefern. Jeder
Eintrag der Kundentabelle ist einzigartig.

Ich habe hier ein Makro für etwas komplett anderes, was aber
mit bischen Umbau evtl. den Zweck erfüllen würde, da ich mich
nicht mit VBA auskenne, kann ich dies nicht selber tun.
Hier ist das Makro:

Sub SucheInGesamtMappe()

’ SucheInAllenArbeitsMappeBlättern Makro
’ …

’ Tastenkombination: Strg+M

Set startsheet = ActiveSheet
Dim t As Worksheet, z As Range, SuchW As String, counter As
Integer, ausgabe As String, knopf As Integer
counter = 0
SuchW = InputBox(„Suchen nach:“, „Eingabe Suchbegriff“, „“)
If SuchW = „“ Then Exit Sub
For Each t In Worksheets
t.Activate
Set z = t.Cells.Find(SuchW)
If Not z Is Nothing Then
erste = z.Address
Do
z.Activate
counter = counter + 1
i = MsgBox(„Weitersuchen?“, vbYesNo + vbQuestion)
If i = vbNo Then Exit Sub
Set z = Cells.FindNext(after:=ActiveCell)
Loop Until erste = z.Address
End If
Next t
startsheet.Activate
If counter = 0 Then ausgabe = „Kein Ergebnis“ Else ausgabe =
„Suchbegriff " & counter & " mal gefunden in der
Arbeitsmappe.“
If counter = 0 Then knopf = 16 Else knopf = 64
MsgBox prompt:=ausgabe, Buttons:=knopf, Title:=„Information“
End Sub

[MOD] - Änderung auf eigenen Wunsch.

Nun muss, ähnlich wie bei einem SVerweis, in der 3. Spalte des
Gechäftsbuchs in jede Zelle die Kundennr. eingeholt werden,
die in der Kundentabelle steht.
Excel müsste wohl suchen in der Kundentabelle nach dem
Blattnamen -Blattnamen sind die Alphabetbuchstaben-, wenn es

Hi Kathy,

warum nimmst du dann nicht Sverweis in Verbindung mit Indirekt?
Und grundsätzlich, ist dir eine Vba- oder eine Excelformellösung lieber?
Ich denke schon daß ich dein Anliegen verstanden habe, aber sicherheitshalber, bastle mal bitte eine kleine Beispielmappe wo du alles manuell ausfüllst aber die Zellen die später per Formel oder Vba gefüllt werden, farbig markierst, ggfs. noch kommentierst.

Lade diese Mappe dann hoch bei http://www.hostarea.de oder http://www.badango.com oder sonstwo und poste hier den Link.

Gruß
Reinhard

Hallo Reinhard,

danke für di Rückmeldung.

Hi Kathy,

warum nimmst du dann nicht Sverweis in Verbindung mit
Indirekt?

Was ist Indirekt? Ich habe soeben gesucht unter Funktionen, find es aber nicht.

Und grundsätzlich, ist dir eine Vba- oder eine
Excelformellösung lieber?

Ist im prinzip egal.

Ich denke schon daß ich dein Anliegen verstanden habe, aber

sicherheitshalber, bastle mal bitte eine
kleine Beispielmappe wo du alles manuell
ausfüllst aber die Zellen die später per Formel oder Vba
gefüllt werden, farbig markierst, ggfs. noch kommentierst.

Lade diese Mappe dann hoch bei http://www.hostarea.de oder
http://www.badango.com oder sonstwo und poste hier den Link.

Habe zwei Mappen geladen, die Kundentabelle, in der die Kundennr. stehen, jetzt steht nur eine Kundennr im 2. Blatt B - 02 als Beispiel. Ich habe die meisten Blätter gelöscht, da die Tabelle zu groß zum Hochladen war.
http://www.hostarea.de/server-05/Mai-8f1111b37c.xls
Ebenso runtergeladen die Geschäftsbuch-Mappe, für die die Formel gesucht wird:
http://www.hostarea.de/server-05/Mai-023675eeef.xls

Gruß
Reinhard

Gruss
Kathy

Sorry Lady,

ich schaue eben erst hier rein, irgendwie gingst du unter, aber kein Wunder, seit der Umstellung von w-w-w klappt kaum was mit Hinweisen auf neue Beiträge in alten Folgen :frowning:

Ich schaue mir jetzt mal deine Dateien an, vielleicht hab ich ja Ideen…

Gruß
Reinhard

Hi Kathy,

Entschuldigung, kam erst eben dazu mir die Dateien anzuschauen.

Naja, mehr als nur einen Eintrag hätte deine Kundenliste schon haben können :smile:

Probiers mal so, den Dateinamen mußt du noch anpassen.:

Option Explicit
'
Sub Einlesen()
Dim wksQ As Worksheet, wksZ As Worksheet, ZeiZ As Long, ZeiQ As Long
Set wksZ = ThisWorkbook.Worksheets("Tabelle1")
With Workbooks("Mai-8f1111b37c.xls")
 For ZeiZ = 2 To wksZ.Cells(Rows.Count, 3).End(xlUp).Row
 wksZ.Cells(ZeiZ, 5) = "Blatt nicht gefunden"
 For Each wksQ In .Worksheets
 If InStr(wksQ.Name, wksZ.Cells(ZeiZ, 3) & " - ") = 1 Then
 wksZ.Cells(ZeiZ, 5) = "Name nicht gefunden"
 If Application.WorksheetFunction.CountIf(wksQ.Columns(7), wksZ.Cells(ZeiZ, 2)) = 1 Then
 ZeiQ = Application.WorksheetFunction.Match(wksZ.Cells(ZeiZ, 2), wksQ.Columns(7), 0)
 wksZ.Cells(ZeiZ, 5) = wksQ.Cells(ZeiQ, 3)
 End If
 Exit For
 End If
 Next wksQ
 Next ZeiZ
End With
End Sub

Gruß
Reinhard

Hallo Reinhardt,

herzlichen Dank für das Makro!
ich probiere es aus.

Grüße

Kathy

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo Reinhardt,

ich habe endlich heute das Makro ausprobiert, es klappt leider nicht, es kommt eine Fehlermeldung, gleich am Anfang, beim

Option Explicit, dass dort eine Angabe fehlen würde.
Was macht genau dieses Makro?
Ich habe "Tabelle1" mit der Kundentabelle ersetzt und die "Mai.."-Tabelle 
mit dem Geschäftsbuch, war dies richtig 
oder muss es anderum sein?

Viele Grüße

Kathy


> <small>[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]</small>

Hi Kathy,

ich habe endlich heute das Makro ausprobiert, es klappt leider
nicht, es kommt eine Fehlermeldung, gleich am Anfang, beim

Option Explicit, dass dort eine Angabe fehlen
würde.

kann ich nicht glauben. mache es so, da diese Beitragsfolge ja morgen schon im Archiv sein kann, mache oben einen neuen Beitrag auf, indem kopierst du mit Strg-A, danach Strg-C im Modul alles in den Beitrag rein, so wie es bei dir steht. Nix vom Code mit der Hand hier reinschreiben, denn Schreibfehler schicken mich in die irre.

Was macht genau dieses Makro?

K.A., ihc muß es mir erst wieder anschauen :smile:

Ich habe „Tabelle1“ mit der Kundentabelle ersetzt und die
„Mai…“-Tabelle
mit dem Geschäftsbuch, war dies richtig
oder muss es anderum sein?

K.A. ich muß mir die ganze Beitragsfolge nochmal durchlesen. Aber frühestens nach dem Spiel und dann auch nur wenn ich noch lesen kann *hicks* *gg*

Du könntest auch die Dateien a) kürzen b) ggfs vertrauliches anonymisieren, geht fix, Anstatt Herr Müller langt mit xyz und anstatt der Telefonnummer 069-2836844 reicht mir auch 4711 usw.
Diese dateien dann zu einer Datei zusammenzippen (dadurch bleiben die Dateinamen der xls-dateien erhalten, und diese zip-datei dann bei


o.ä. hochladen und den Link dazu im neuen Beitrag posten.

Gruß
Reinhard