Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

ID Auslesen und Wert zurückgeben
#1
Hallo liebes Forum.
Ich bin ganz neu hier und hoffe auf eure Hilfe!

Ich habe eine Excel Tabelle mit zwei Werten (eigentlich sind es mehr, aber ich brauche für meine Frage nur die zwei Werte). ItemId und WarehouseID. Die ItemId ist die Nummer, mit der ein Produkt bei uns im System hinterlegt ist (wir sind ein Paintballladen) und die WarehouseID die Lagernummer. (Tabelle 2 in der Beispieltabelle)
Unser Warenwirtschaftssystem gibt leider nur die ItemID aber nicht den Namen des Produktes aus. Ich kann mir aber eine zweite Exceltabelle generieren lassen, die unter anderem die ItemID und den ItemNamen beinhalten.

Jetzt möchte ich es irgendwie schaffen, dass mir in der Ersten Tabelle (Tabelle2 in der Beispieltabelle) auch der ItemName angezeigt wird. Da wir über 700 Artikelhaben und ständig neue dazu kommen, ist dies händisch leider nicht zu stämmen. Ebenfalls würde ich mir gerne anzeigen lassen, wie das Lager heißt. In der Tabelle ist erstmal nur ein Lager angegeben (1), insgesamt haben wir aber mehr. Lager 1 heißt Sales bei uns.

Ich habe etwas gegooglt und bin auf zwei verschiedene Lösungmöglichkeiten gekommen. Entweder mit einem SVerweis oder einem VBA Makro. Da ich aber leider von beidem keine Ahnung habe, wollte ich doch einfach mal hier nachfragen ob mir jemand helfen kann.

Vielen Dank schonmal!!   Angel


Angehängte Dateien
.xlsx   Beispieltabelle.xlsx (Größe: 9,69 KB / Downloads: 11)
Antworten Top
#2
Hallo erst mal ...

anbei ein Makro Code mit dem man das ganze schnell erledigen kann. Die Zeilen spielen dabei keine Rollle, bis 1 Milliion. Einfach mit Taste Alt und F11 den VBA Editor Öffnen, mit rechter Maustaste ein Modul einfügen, Makro in das Modul kopieren und über den Makro Dialog starten. Ins Blatt kann man einen CommandButton einfügen. Am besten kein AktivStuerelement, sondern den ganz normalen Standard Button. Dem kann man problemlos das Makro zuweisen. Dannach startet es über den Button.

İm Makro siehst du die Anweisung "AC.Offset(0, 2) = rFind.Offset(0,1)"  Damit wird der gefundene Wert jetzt in die Spalte C kopiert, weil du in B die "RowWarehouseID" stehen hast. Wenn du es in Spalte B haben willst must du es bitte so aendern:  "AC.Offset(0, 1)"  Offset heist, verschiebe es um x Spalten nach rechts. Die Zahl kannst du selbst waehlen. Probier es mal aıus, dann lernst du auch gleichzeitig die Funktion von Vba Makros kennen. 
 
mit Formeln geht es auch, dafür gibt es andere Ratgeber. Ist nicht mein Ding.  
mfg  Gast

Code:
Option Explicit     '22.10.2016  Gast 123  Clever Forum

Dim rFind As Object, AC As Object



Sub ItemName_übertragen()
Dim Tb3 As Worksheet, lz As Long
Set Tb3 = Worksheets("Tabelle3")

With Worksheets("Tabelle2")
  'letxte Zelle in Spalte A ermitteln
  lz = .Range("A1").End(xlDown).Row
 
  'Schleife für alle RowItemId in Tabelle1
  For Each AC In .Range("A2:A" & lz)
     'ID Nummer Suchen mit Find in Tabelle2
     Set rFind = Tb3.Columns(1).Find(What:=AC, After:=Range("A1"), _
         LookIn:=xlValues, LookAt:=xlWhole, SearchDirection:=xlNext)
     'wenn gefunden übernehmen
     If Not rFind Is Nothing Then
        AC.Offset(0, 2) = rFind.Offset(0, 1)
     End If
  Next AC
End With
End Sub
[-] Folgende(r) 1 Nutzer sagt Danke an Gast 123 für diesen Beitrag:
  • MedusaLeiche
Antworten Top
#3
Hi,

hier eine Formellösung:

Tabelle2

ABCDEFGHI
1RowItemIDRowWarehouseIDItemNameLagerbezeichnungLagerbezeichnungen
224901Tippmann Barrel SwabSales1Sales
341151#NVSales11Sales-A
4305111Seconds PaintSales-B111Sales-B
51396011Bounce Beanie Sales-A
Formeln der Tabelle
ZelleFormel
C2=SVERWEIS(A2;Tabelle3!A:B;2;0)
D2=SVERWEIS(B2;$H$1:$I$4;2;0)

Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8

Für die Lagerbezeichnung musst du eine separate Liste anlegen, die du eventuell gleichzeitig als Liste für DropDowns zum, bequemeren Eintragen benutzen kannst.
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
[-] Folgende(r) 1 Nutzer sagt Danke an WillWissen für diesen Beitrag:
  • MedusaLeiche
Antworten Top
#4
Ich danke euch!! Es Funktioniert! Ich werde mal testen welche der beiden Möglichkeiten bei uns besser funktioniert!!

Vielen Vielen Dank für die schnellen Antworten!!!
Antworten Top
#5
Hallo nochmal :)

Ich bin gerade dabei die richtige Tabelle zu erstellen. Dabei habe ich festgestellt, dass ich nicht ein zusätzliches Blatt mit den Artikeln habe, sondern insgesamt 4 (da wir verschiedene Artikel in bisher insgesamt 4 verschiedenen Lagerns haben). Kann ich das Makro dementsprechend anpassen?
Antworten Top
#6
Hi,

Zitat:[...] nicht ein zusätzliches Blatt mit den Artikeln habe, sondern insgesamt 4 (da wir verschiedene Artikel in bisher insgesamt 4 verschiedenen Lagerns haben).

und das ist zum Auswerten mehr als ungünstig. Schreibe alles in eine Liste und vergib für die verschiedenen Lager eindeutige IDs. Dann kannst du das ganz einfach mit Formeln (siehe mein Vorschlag) auswerten. VBA ist zwar nicht meine Welt, aber ich denke, dass auch Makros leichter zu schreiben sind, wenn die Auswertung von einem Tabellenblatt aus vorzunehmen ist.
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Antworten Top
#7
(22.10.2016, 23:47)WillWissen schrieb: Schreibe alles in eine Liste und vergib für die verschiedenen Lager eindeutige IDs.
Das geht leider nicht. Ich brauche die 4 verschiedenen Blätter, da wenn wir neue Artikel reinbekommen, ich die ja auch in die Liste einpflegen muss. Und das vereinfacht es natürlich extrem wenn ich verschiedene Blätter habe.
Antworten Top
#8
Also mit dem SVERWEIS funktioniert dies leider definitv nicht, da Excel so viele Funktionen in einem nicht möglich sind.
Das hießt es muss wahrscheinlich echt in einem Macro erfüllt werden.


Angehängte Dateien
.xlsm   RoherlösBeispiel.xlsm (Größe: 210,49 KB / Downloads: 8)
Antworten Top
#9
Hi,

Zitat:Ich brauche die 4 verschiedenen Blätter, da wenn wir neue Artikel reinbekommen, ich die ja auch in die Liste einpflegen muss. Und das vereinfacht es natürlich extrem wenn ich verschiedene Blätter habe.

das halte ich für ein Gerücht. :32:

Zitat:Also mit dem SVERWEIS funktioniert dies leider definitv nicht, da Excel so viele Funktionen in einem nicht möglich sind.

Bei deinem jetzigen Aufbau würde es mMn vermutlich nur über eine Monsterformel funktionieren (wir haben ausgesprochene Formelspezialisten, die dir eine solche bauen könnten). Was über VBA machbar ist, kann ich dir mangels ausreichendem Wissen nicht sagen.

Lies dir doch bitte einmal zum Aufbau einer Tabelle diesen Artikel durch: http://www.online-excel.de/excel/singsel.php?f=52 oder gib mal bei Tante Gugl "andreas thehos listen und tabellen" ein. Wenn du das Ganze dann noch als Tabelle formatierst (STRG-L oder -T), steht einer einfachen und bequemen Auswertung nichts im Weg.
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
[-] Folgende(r) 1 Nutzer sagt Danke an WillWissen für diesen Beitrag:
  • MedusaLeiche
Antworten Top
#10
Hallo,

ich habe mir die Beispieldatei herunter geladen und angesehen.  Werde das Makro umschreiben.
Habe bitte etwas Geduld, heute ist Sonntag, muss mich um die Familie kümmern, brauche etwas Zeit.
Schau einfach am Montag mal rein. Das klappt schon

mfg  Gast 123
[-] Folgende(r) 1 Nutzer sagt Danke an Gast 123 für diesen Beitrag:
  • MedusaLeiche
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste