Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: SVerweis über mehrere Tabellen(3D)

SVerweis über mehrere Tabellen(3D)
23.07.2004 00:02:17
rame
Hallo allerseits,
ich habe folgendes Problem:
https://www.herber.de/bbs/user/8810.xls
In der Demo-Datei ist eine Art Arbeitsplaner. Bei diesem Planer soll es so sein, das der Mitarbeiter bei einem Kunden für einen festen Termin eingetragen wird. Danach soll automatisch bei dem Mitarbeiter der Kunde für die eingetragene Uhrzeit eingetragen werden. Insgesamt handelt es sich um 8 Mitarbeiter und ca. 25 Kunden. Ich bekomme es also vermutlich nicht über geschachtelte WENN-Funktionen hin.
Falls schon mal jemand mit so einem Problem zu tun hatte, dann wäre ich wirklich froh, wenn ich einen Lösungsansatz bekäme.
Gruß rame
Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: SVerweis über mehrere Tabellen(3D)
Boris
Hi,
sinnvollerweise geht das nur mit VBA. Kommt das in Frage?
Grüße Boris
AW: SVerweis über mehrere Tabellen(3D)
23.07.2004 00:39:27
rame
VBA würde ich gerne vermeiden. Wenn es irgendwie möglich ist, dann würde ich das gerne mit Funktionen lösen. Wenn es aber gar nicht anders geht, dann stehe ich insofern auf dem Schlauch, daß ich zwar früher schon einiges Programmiert habe(Cobol, Pascal etc.), aber von VBA überhaupt keinen plan habe.
Gruß rame
Anzeige
Das hat sich jetzt überschnitten...
Boris
Hi Rame,
...wie gesagt - ohne VBA ist das bei 25 Firmen (nahezu) unmöglich.
Schau dir mal meine Lösung an.
Grüße Boris
AW: Das hat sich jetzt überschnitten...
23.07.2004 00:46:00
rame
Die Lösung funktioniert. Ich werd mir morgen mal in Ruhe anschauen was Du da verbastelt hast.
Guten Schlaf und erstmal vielen Dank für die Lösung.
rame
Ich mach Feierabend...
Boris
Hi Rame,
daher will ich dir eine mögliche VBA-Lösung nicht vorenthalten:
Habe es mit dem Change-Ereignis gelöst - in Kombination mit Selection-Change und ner Public-Variablen.
Die Tabellenblätter der Mitarbetier sollten der Einfachheit halber EXAKT die Namen haben, die auch bei den Firmen eingegeben werden. Ich habe also die Vornamen gelöscht.
Du kannst Termine vergeben und auch wieder löschen. Sollte alles verarbeitet werden. Ob das jetzt aber wasserdicht ist...?
Teste selbst...
https://www.herber.de/bbs/user/8817.xls
Ach so: Der Code müsste dann in jedes Tabellenmodul einer jeden Firma kopiert werden.
Grüße Boris
Anzeige
AW: Ich mach Feierabend...
24.07.2004 16:25:48
rame
Hallo Boris,
nach verschiedenen anderen Lösungsansätzen bleibt Deine Lösung als die praktikabelste Variante übrig. Ich finde es klasse das Du Dir die Mühe gemacht hast das zu erstellen.
Da ich aber von VBA überhaupt keine Ahnung habe, wäre es für mich sehr hilfreich, wenn Du das, was Du da programmiert hast auch kommentieren könntest. Dann habe ich zumindest eine Chance bei VBA ganz langsam einen Durchblick zu bekommen.
Gruß rame
Anzeige
AW: Ich mach Feierabend...
Boris
Hi Rame,
ich hab´s mal etwas auskommentiert. Die in einem allgemeinen Modul als Public deklarierte Variable 'oldSheet' muss natürlich sein!

Private Sub Worksheet_Change(ByVal Target As Range)
'Falls mehr als 1 Zelle ausgewählt
If Target.Count > 1 Then
'dann Hinweis: Geht nicht...
MsgBox "Bitte nur 1 Zelle bearbeiten!", , "Hinweis"
'Ereignisse ausschalten
Application.EnableEvents = False
'Target leeren
Target = ""
'Ereignisse wieder anschalten
Application.EnableEvents = True
'Sub verlassen
Exit Sub
End If
'Fehlerbehanldung - bei Fehler zur Sprungmarke Hoppla
On Error GoTo Hoppla
'Wenn Target leer ist
If Target = "" Then
'...dann Zelle im Mitarbeiterblatt auch leeren
'entspricht: Termin löschen
Worksheets(oldSheet).Range(Target.Address) = ""
'und sub verlassen
Exit Sub
End If
'Falls Target nicht innerhalb B3:K38 liegt  - Sub verlassen
If Intersect(Target, [b3:k38]) Is Nothing Then Exit Sub
'Mitarbeiternamen in Mitarbeiterblatt übertragen
With Target
Worksheets(.Text).Range(.Address) = ActiveSheet.Name
End With
'Sub verlassen, damit man nicht automatisch in die folgende Fehlerbehanldung läuft
Exit Sub
'Fehlerbehandlung
Hoppla:
MsgBox "Diesen Mitarbeiter gibt es nicht", , "Hinweis..."
Application.EnableEvents = False
Target = ""
Application.EnableEvents = True
End Sub


Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'Hier immer die Public-Variable entsprechend füllen
oldSheet = ActiveCell.Text
End Sub

Grüße Boris
Anzeige
AW: Ich mach Feierabend...
26.07.2004 18:04:35
rame
Danke!
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige