Frage von DanteSam, 57

Exel Datenbank?

Hallo Zusammen Ich arbeite in einem Möbelhaus und bin für die Ersatzteile Zuständig. Mir ist es leider nicht möglich Programme für eine Datenbank zu installieren und muss daher alles via Excel lösen.

Jetzt zu meiner Frage.

Kann Excel fehlende Angaben ergänzen? Wen ich bei Tabelle 1 Feld A z.b. 115643 eingebe und bei Feld B/C/D ca. dasselbe. Kann man das so drehen das Excel Bei Tabelle 2 Feld 4 in Spalte 1 abgleicht und wen es feststellt, ok der Fehlt, Feld A plus Feld B/C/D eigenständig auf Tabelle 2 Ergänzen?

Momentan habe ich eine Liste bei der ich etwas eingeben kann z.B. 115643 und Excel zeigt mir dann den Platz wo sich das teil befindet und die Hinterlegten Informationen. Das Ergänzen von den Nr. und den Infos ist jedoch ein One Man ding aktuell und ich möchte es für alle Mitarbeiter, zugänglich machen.

Gedacht so, dass der Mitarbeiter die Nr. alle Informationen eingibt und per Knopfdruck Excel sagt kontrolliere und ergänze falls nötig.

Abgleichen und Infos wiedergeben bekomme ich hin, nur dass er mir diese auf einer anderen Tabelle dann nicht selber anlegt weiss ich nicht. Ich hoffe ich konnte meine Frage gut rüber bringen, sonst einfach Fragen^^ Danke im Voraus. PS: Falls mir jemand auf Anhieb die Lösung sagen kann, möchte ich fragen woher ihr euer Wissen bezieht. Ich möchte es auch zu 100 Verstehen können und nachlesen. Lg

Expertenantwort
von Ninombre, Community-Experte für Excel, 38

Was Du genau vorhast, konnte ich nicht nachvollziehen. Die Angaben in Excel waren etwas verworren - Felder A, B, C gibt es nicht. Es sind Spalten mit A/B/C und die Zeilen mit 1,2,3. Daraus ergibt sich für jede Zelle eine Adresse wie A1 oder C7.

Ich nehme an, dass die jetzt funktionierende Suche, also Artikelnummer eingeben und Lagerort wird angezeigt, mit SVERWEIS funktioniert. So kann man auch zwischen Tabellen abgleichen, ob ein Eintrag in der anderen vorhanden ist. Was mit normalen Formeln nicht funktioniert, ist wirklich Werte irgendwo hineinschreiben. Eine Formel gilt immer nur für die Zelle, in der sie steht. Der angezeigte Wert ändert sich, sobald die Parameter sich verändern, die in der Formel verwendet werden. Auf dieser Art kann man keine neuen Datensätze anlegen, also Tabellen befüllen. Das geht nur mit Makros. Darum ist Excel eine Tabellenkalkulation und keine echte  Datenbank.

Beim Beispiel im Bild: Über den SVERWEIS schauen, ob der Artikel in der Liste steht ist kein Problem. Einen neuen Eintrag in die Tabelle unten schreiben geht so nicht. Wenn man die Formel =B1 eintragen würde, um die Artikelnummer zu übernehmen bleibt dieses Ergebnis nicht stehen - das ist weg, sobald man in B1 was anderes einträgt.

Vielleicht habe ich die Frage aber auch falsch verstanden. Was genau ist für Dich "fehlende Angaben ergänzen"?

Was eher funktioniert, ist dem Mitarbeiter anzuzeigen, dass ein Artikel noch nicht vorhanden ist und er den fehlenden Eintrag vornehmen muss. Das geht dann wie im Bild beschrieben mit wennfehler und sverweis oder so
=WENN(ISTFEHLER(SVERWEIS(B1;A7:A10;1;FALSCH));"Gibt es nicht";"Ist schon da")

Kommentar von DanteSam ,

Hallo

die Aktuelle Formel die ich Brauche ist diese hier.

=WENN(A4="";"";SVERWEIS(A4;Data!A:B;2;FALSCH))

Es klappt gut. und er zeigt mir die Daten an.

Das der Mitarbeiter diese selber ergänzen soll, hatten wir schon.

Der Vorgänger der diese Neben Aufgabe Ersatzteile hatte, hatte eine gut funktionierende Exel Datei erstellt die dann aber von einem Mitarbeiter gelöscht wurde der eigentlich nur Datensätze ergänzen sollte.

Der Mitarbeiter der alles Erstellt hatte war aber zudem Zeitpunkt nicht mehr für unser Geschäft tätig. Dan kam ich^^

Du erwähnst Makros.

Wie kann man das den machen, das er die Daten auf einer anderen Tabelle ergänzt und den Datensatz hinzufügt?

Danke für deine Antworten.

Kommentar von Ninombre ,

Das ist nicht ganz einfach eine fertige Lösung zu beschreiben. Ich kenne den genauen Ablauf bei Dir nicht:

1. Sind die Artikelnummern in der Tabelle immer schon vorhanden und werden nur weitere Angaben ergänzt oder können auch ganz neue Artikel angelegt werden?
2. Soll der Mitarbeiter immer alle Angaben erfassen und dann wird geprüft, ob leere Felder zum Artikel in der Tabelle stehen? Üblicherweise würde ich anhand der Artikelnummer suchen, die vorhandenen Infos anzeigen und dann den Mitarbeiter auffordern, die Angaben zu korrigieren oder zu ergänzen, wenn notwendig.

Grundsätzlich würde ich eine Userform erstellen, das gibt etwas mehr Möglichkeiten die Eingaben zu prüfen:
http://www.excelbeispiele.de/UserForm.htm

Da brauchst Du für die relevanten Daten einfache Label (Beschriftungsfelder) wenn nur eine Anzeige erfolgen soll oder Textfelder, wenn auch was eingegeben werden soll.

Da ich Deine Tabelle nicht kenne, habe ich als einfaches Beispiel angenommen, dass es auf der Userform 2 Textfelder gibt (Artikelnummer und eine weitere Angabe, das kannst Du entsprechend erweitern), ein Label als Statusmeldung und zwei Button. Einen zum Suchen, einen zum Ändern bzw. Neuanlegen.

Zum Starten der Userform würde ich in dem normalen Tabellenblatt einen Button setzen und ein Makro hinterlegen:

Sub Schaltfläche1_Klicken()
UserForm1.CommandButton2.Enabled = False
UserForm1.Show
End Sub

Die Plausibilitäten sind natürlich noch recht grob. Ich hab nur eingebaut, dass die Artikelnummer gefüllt sein muss und man erst suchen muss bevor eine Neuanlage oder Änderung möglich ist (das ist das commandbutton.enable=false, damit wird der Button deaktiviert)

Private Sub CommandButton1_Click()
CommandButton2.Enabled = False
If UserForm1.TextBox1.Value = "" Then
Label1.Caption = "Bitte Artikelnummer eingeben"
Exit Sub
End If
If WorksheetFunction.CountIf(Range("A:A"), UserForm1.TextBox1.Value) = 0 Then
Label1.Caption = "Datensatz noch nicht vorhanden"
CommandButton2.Enabled = True
Exit Sub
End If
For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row
If Cells(i, 1).Value = UserForm1.TextBox1.Text Then
Exit For
End If
Next
UserForm1.TextBox2.Text = Cells(i, 2).Value
CommandButton2.Enabled = True
End Sub

Private Sub CommandButton2_Click()
If WorksheetFunction.CountIf(Range("A:A"), UserForm1.TextBox1.Value) = 0 Then
i = Cells(Rows.Count, 1).End(xlUp).Row + 1
Else:
For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row
If Cells(i, 1).Value = UserForm1.TextBox1.Text Then
Exit For
End If
Next
End If
If UserForm1.TextBox2 = "" Then
UserForm1.Label1.Caption = "Alle Felder füllen!"
Exit Sub
End If
Cells(i, 1).Value = UserForm1.TextBox1.Text
Cells(i, 2).Value = UserForm1.TextBox2.Text
CommandButton2.Enabled = False
UserForm1.TextBox1 = ""
UserForm1.TextBox2 = ""
End Sub

Kommentar von DanteSam ,

Ich versuche das Ganze Morgen zu zeigen inform von bildern etc.

Aber ich danke dir im voraus. Ich melde mich noch :-)

Antwort
von Roderic, 44

Wenn du Excel installiert hast, dann womöglich auch Access.

Dann hast du doch eine halbwegs brauchbare Datenbank.

Datenbanken mit Excel zu implementieren ist einer der größten Unsitten in der Office Welt und führt früher oder später zu gewaltigen Schwierigkeiten.

Kommentar von pritsche05 ,

Moin Roderic  wenn er mit EXCEL nicht klarkommt, dann dürfte es mit ACCESS auch nicht klappen. Was ich nicht verstehe, in einem Möbelhaus ( größerer Betrieb ) weshalb ist keine gute Datenbank vorhanden ?? Geiz ?

Kommentar von MarkusGenervt ,

Ich hatte mal einen ähnliche Fall, bei dem ich für einen großen Recycling-Hof mit 2nd-Hand-Store eine Lagerverwaltung programmieren sollte.

Der Chef war natürlich ein "Experte" und bestand darauf, dass ich mit Excel arbeiten soll. Außerdem muss dann keine neue Software hinzu gekauft werden. Stur wie ein Panzer!

Ich habe das dann einfach trotzdem mit Access erledigt und dem Ganzen einen Hauch von Excel begeben.

Manchmal muss man solche "Experten" einfach ignorieren – voraus gesetzt man ist selbst WIRKLICH ein Experte.  ;-P

Kommentar von DanteSam ,

Hallo zusammen

Nein das Geschäft ist einfach sehr strickt und ich habe unsere IT schon gefragt ob ich was Installieren dürfte, aber wegen vorschriften etc etc darf ich nicht^^

Kommentar von MarkusGenervt ,

Übrigens:
Da wird Dir keine IT erlauben, ob Du etwas installieren darfst. Das hätte ich nicht mal meinem Chef erlaubt, wenn der selbst kein Profi ist. Nicht-Profis können hier einfach viel zu viel Schaden anrichten.

Da hättest Du mal besser erklärt, dass Du für Deine Arbeit Access braucht und ob Du Zugriff darauf bekommen kannst, bzw. ob die IT das für Dich einrichten kann. Da musst Du schon präzise angeben, was Du möchtest und wofür Du das möchtest.

Antwort
von MarkusGenervt, 36

Also DAS sind wirklich Basis-Aufgaben für Excel!
Es tut mir Leid, Dich enttäuschen zu müssen, aber wenn Du nicht einmal sooo einfache Aufgaben mit Excel selbst lösen kannst, wie willst Du dann eine ganze Lagerverwaltung einrichten?

Da hast Du anscheinend nicht die geringste Ahnung, worauf Du Dich da eingelassen hast, bzw. was Du Dir da vorgenommen hast.
Excel ist ein "bisschen" mehr, als nur eine Tabelle mit einfachen Daten auszufüllen.

Um Dir zu helfen – Deinen Job zu erledigen –, müsste man Dir Excel komplett beibringen. Dafür gibt es Kurse an der VHS – für den Anfang.

Kommentar von DanteSam ,

Ich weis in etwa auf was ich mich da eingelassen habe.

Mit meiner Arbeit, bis jetzt, bin ich sehr zufrieden.

Und ob du es glaubst oder nicht, es funktioniert bis jetzt.

Nur möchte ich es für meine Arbeitskollegen einfacher gestalten.

Damit sie die Datenbank selber einfach ergänzen können.

Wenn DAS wirklich so Basis ist von Exel möchte ich von DIR wissen wie Exel, die Eingaben in Tabelle 1, auf Tabelle 2 Ergänzt und hinzufügt.

Sprich per Formel oder wie Ninombre oben erwähnt hat mit Makros.

Ich habe hier extra eine Frage gestellt, da ich es nicht weis und ich Hilfe Brauche.

Meinen Restlichen Job erledige ich sehr zuverlässig im Kundendienst. Nur ist die Ersatzteil Datenbank eine neben Aufgabe.

Deine Antwort hilft mir kein Stück und ich möchte dich höflichst bitten dich da rauszuhalten wen du mir keine Tipps oder Ideen bringen kannst wie ich das lösen könnte.

Ich möchte dich nicht persönlich angreifen aber ich frage hier um Tipps oder Hilfe und keine Sprüche.

Ich wünsche dir einen schönen Abend.

Kommentar von MarkusGenervt ,

Eigentlich wollte ich Dir auf einfache Art und Weise zu verstehen geben, dass bereits Dein Ansatz hierbei falsch ist und ich hier keinen Roman schreiben wollte. Aber gut:

Wie Roderic und Ninombre Dir bereits versucht haben zu erklären, bzw. verständlich zu machen, wirst Du mit Excel alleine Dein Problem auch nicht lösen können.

Mal ganz abgesehen davon das ExCel KEINE Datenbank ist, wirst Du für Deine Aufgabe entweder Access benötigen und/oder Visual Basic für die Makros. Ganz abgesehen davon, wirst Du bei Access auch nicht an Visual Basic vorbei kommen und zusätzlich sind noch SQL-Kenntnisse erforderlich.

Weiterhin – so entnehme ich es Deiner Beschreibung – wirst Du es mit Excel definitiv NICHT verhindern können, dass ein noch unbedarfterer Mitarbeiter Dir Deine Formeln mit Text überschreibt und Du wieder vor dem gleichen Problem stehen wirst. Dafür ist Excel nicht gemacht worden. (Viele Köche ...)

Außerdem ist auch Dein zweiter Versuch einer Problem-Beschreibung NICHT hilfreich, um Dir hier ein Visual Basic Makro präsentieren zu können.
Dafür müsste man schon genau wissen, um welche Daten/Datentypen es in welchen Datenbereichen geht und in welcher Tabelle welcher Teil-Datenbereich wiedergegeben werden soll.
Vor allem wäre es wichtig zu wissen, ob diese Datenbereiche statisch oder dynamisch verwaltet werden sollen. Bei einer dynamischen Bereichs-Verwaltung sieht die Sache nämlich schon wieder völlig anders aus. Das wird selbst mit einem Makro eine ziemlich haarsträubende Angelegenheit, denn hier müssten Daten voraus gesehen werden. (Dafür wäre SQL einfach besser geeignet.)

Also SO einfach, wie Du es offenbar gerne hättest, ist es mit Excel ganz sicher nicht. Das ist nur Flickwerk und Flickwerk wird auch immer an Ausnahmen scheitern! Somit wird es bestenfalls nur einen kleinen Teilbereich Deines Problems vorübergehend lösen können.

Nichts für Ungut, auch ich möchte Dich hier nicht dumm von der Seite anmachen, aber auch mit Deinen bisherigen Beschreibungen wird Dir keiner helfen können, ein ordentliches Makro zu erstellen, bzw. für Dich eine ordentliche Lagerverwaltung zu generieren. Da müsstest Du schon mit ein bisschen mehr Details rüber kommen.

Kommentar von DanteSam ,

Danke für deinen Ansatz.

Ich werde Morgen Bilder etc zeigen was ich bis jetzt habe. durch deine inputs und die von Ninombre zeigen mir was ich genau aufzeigen muss etc.

Das es nicht einfach ist und mal so hingeschrieben werden kann, ist mir durchaus bewusst. 

Ich komme ursprünglich aus dem Lager bereich als Logistiker und habe dann an die Front als Kundendienst Mitarbeiter im Store selber gemausert da ich gerne Herausforderungen mag.

Ich möchte mich bei dir auch entschuldigen falls ich forsch geantwortet habe.

Du hast mich da auf dem Falschen Fus erwischt, das ich mich eigentlich sehr für Computer Exel etc interresiere und sehr neu bin.

Das es sehr mühsam und umständlich ist und überhaupt nicht einfach wird, ist mir bewusst und ich stelle mich bewusst der Herausforderung etwas hervorzubringen.

Ich wünsche dir einen schön Abend

Kommentar von MarkusGenervt ,

Forsch, grob oder auch arrogant ist kein Problem für mich, solange es fundiert, bzw. sachlich ist. Da bin ich ab und an auch mal mehr "zielorientiert" als "nett" ;-)

Auch Dir noch einen schönen Abend.

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten