Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1796to1800
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Anhand der Artikelnummer den Namen in der Spalte daneben darstellen

Anhand der Artikelnummer den Namen in der Spalte daneben darstellen
01.12.2020 15:49:11
Müller
Hallo
ich habe eine Tabelle in A1 :ca A200 Artikelnummern
z.B: X5251666
X5251312
X5254345
X5255249
usw.
die 4und 5 Stelle bezeichnet den Artikel es gibt 12 Artikel
51 Diode
54 Kondensator
55 Klemme
56 Niet
57 Zinn
59 Led
61 Kabel
62 Lasche
65 Schraube
66 Transistor
70 Stecker
71 Dose
ich möchte per Makro das immer wenn eine Wechsel in Spalte A ist das in B die Artikelbezeichnung steht so zum Beispiel
A B
X5251666 Diode
X5251312
X5254345 Kondensator
X5254346
X5254366
X5255249 Klemme
kann mir da jemand helfen
VG
Tom

25
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Anhand der Artikelnummer den Namen in der Spalte daneben darstellen
01.12.2020 16:10:48
Nepumuk
Hallo Tom,
lade bitte eine Beispielmappe hoch die der Originalmappe entspricht.
Gruß
Nepumuk
AW: Anhand der Artikelnummer den Namen in der Spalte daneben darstellen
01.12.2020 16:27:31
Müller
https://www.herber.de/bbs/user/141988.xlsx
Der Name kann entweder in Spalte A oder B stehen hier im Beispiel in A.
AW: Anhand der Artikelnummer den Namen in der Spalte daneben darstellen
01.12.2020 16:23:58
worti
Hallo Tom,
im Beispiel stehenb die Artikel und zugehörigen Namen inm Blatt Artikel in den Spalten A:B.
Dann so:
Sub Artikelnamen()
Dim lngZeile As Long
Dim strArtikel As String
Dim ws As Worksheet, ws2 As Worksheet
Dim rngC As Range
Set ws = ThisWorkbook.Worksheets("Tabelle1")
Set ws2 = ThisWorkbook.Worksheets("Artikel")
strArtikel = Mid(ws.Cells(1, 1).Value, 4, 2)
Set rngC = ws2.Rows(1).Cells.Find(CInt(strArtikel))
If Not rngC Is Nothing Then
ws.Cells(1, 2).Value = ws2.Cells(rngC.Row, rngC.Column).Offset(0, 1).Value
End If
For lngZeile = 2 To ws.Cells(Rows.Count, 1).End(xlUp).Row - 1
If Not Mid(ws.Cells(lngZeile, 1).Value, 4, 2) = _
Mid(ws.Cells(lngZeile + 1, 1).Value, 4, 2) Then
strArtikel = Mid(ws.Cells(lngZeile + 1, 1).Value, 4, 2)
Set rngC = ws2.Columns(1).Cells.Find(CInt(strArtikel), After:=ws2.Range("A1"))
If Not rngC Is Nothing Then
ws.Cells(lngZeile + 1, 2).Value = ws2.Cells(rngC.Row, rngC.Column).Offset(0,  _
1).Value
End If
End If
Next lngZeile
Set ws = Nothing
Set ws2 = Nothing
End Sub

Gruß Worti
Anzeige
AW: Anhand der Artikelnummer den Namen in der Spalte daneben darstellen
01.12.2020 16:43:08
Müller
Hallo Worti,
ich habe im Tabellenblatt Artikel das ab A1 und B1 eingegeben
51 Diode
54 Kondensator
55 Klemme
56 Niet
57 Zinn
59 Led
61 Kabel
62 Lasche
65 Schraube
66 Transistor
70 Stecker
71 Dose
beim starten bleibt das Makro hier stehen
Set rngC = ws2.Rows(1).Cells.Find(CInt(strArtikel))
im Blatt Tabelle1 hab ich unter A2 beginnend die Artikelnummern stehen.
VG
Tom
AW: Anhand der Artikelnummer den Namen in der Spalte daneben darstellen
01.12.2020 16:38:06
Herbert_Grom
Hallo,
das geht auch viel einfacher! Wenn deine Artikelbezeichnungen in H1:I13 stehen nämlich so:
Sub test()
iLastRow = Cells(1048576, 2).End(xlUp).Row
For a = 2 To iLastRow
x = Cells(a, 2).Value
y = Mid(x, 4, 2) * 1
Z = Application.Match(y, Range("H1:H13"), 0)
artbez = Range("I" & Z)
Range("A" & a).Value = artbez
Next a
End Sub
Servus
Anzeige
AW: Anhand der Artikelnummer den Namen in der Spalte daneben darstellen
01.12.2020 16:50:55
Müller
Hallo herbert,
bei deinen Makro passiert nix. Ich habe in den selben Tabellen Blatt bei H1 bis H12 die 4und 5 Stelle
z.B. 51 und in I1 die bezeichnung des Artikels eingetragen für alle 12 Artikel ab A2 hab ich die vollständigen Artikelnummern stehen.
AW: Anhand der Artikelnummer den Namen in der Spalte daneben darstellen
01.12.2020 16:54:30
Herbert_Grom
Schau dir mal meine Datei an:
https://www.herber.de/bbs/user/141992.xlsm
Bei mir funzt die einwandfrei!
Servus
AW: Anhand der Artikelnummer den Namen in der Spalte daneben darstellen
01.12.2020 17:00:21
Müller
Hallo Herbert,
stimmt es geht super hatte einen kleinen Fehler drin
Danke
AW: Gerne geschehen und danke für die Rückmeldung!
01.12.2020 17:06:59
Herbert_Grom
,,,
AW: Gerne geschehen und danke für die Rückmeldung!
01.12.2020 17:11:03
Müller
Hallo Herbert,
was muss ich ändern wenn ich den Namen nicht in Spalte A sondern in Spalte B brauch, weil in Spalte a in einer anderen Tabelle die Artikelnummer in Spalte A steht.
Danke nochmal für Deine Hilfe
Anzeige
AW: Gerne geschehen und danke für die Rückmeldung!
01.12.2020 17:44:36
Herbert_Grom
Also was muss jetzt wo stehen? Und wie heißt die "andere Tabelle"?
AW: Gerne geschehen und danke für die Rückmeldung!
02.12.2020 06:45:00
Müller
Hallo ,
die Tabelle wo die Zuweisung Artikelnummer Name stehen soll, heisst 'Werte'.Ich möchte die Zuweisung nicht in dem Tabellblatt stehen haben wo die Artikelnummern stehen.
Ich habe 2 veschiedene Tabellen mit Artikelnummern einmal stehen die in Spalte B und der Name in A so wie oben genannt das geht.
Die andere Tabelle hat in A die Artikelnummern und da soll in B der Name eingetragen werden.
VG
Tom
AW: Gerne geschehen und danke für die Rückmeldung!
02.12.2020 08:55:00
Herbert_Grom
Hallo Tom,
dann schick mir mal die "echte" Datei, damit ich die tatsächliche Struktur sehen kann. Sensible Daten musst du halt durch Fantasiedaten ersetzen.
Servus
Anzeige
AW: Gerne geschehen und danke für die Rückmeldung!
02.12.2020 09:45:48
Herbert_Grom
Wichtig ist vor allem, welche Artikel-Nrn./Artikelbezeichnungen sind in welchem Sheet!
AW: Gerne geschehen und danke für die Rückmeldung!
02.12.2020 10:22:09
Müller
Hallo Herbert,
hier die Datei die Art.Nr. beginnen ab B3 . ich habe mal die Namen so reingesetzt wie das ergebnis aussehen sollte. wenn gleiche kennzeichen in der 4und 5 Stelle kommen muss nur der erste mit dem Namen belegt werden so wie in der Tabelle.
https://www.herber.de/bbs/user/142002.xlsx
VG
AW: Gerne geschehen und danke für die Rückmeldung!
02.12.2020 10:38:06
Werner
Hallo,
du hälst wohl nicht sonderlich viel davon alle Beiträge, die dir hier gegeben werden, zu lesen und darauf zu reagieren.
Von Nepumuk hast du gestern um 16:48 h eine Lösung mit Beispielmappe erhalten - reagiert hast du darauf aber nicht.
Und auch von mir hast du gestern bereits eine Lösung mit SVERWEIS bekommen, ebenfalls keine Reaktion.
Eigentlich sollte ich dir das hier gar nicht mehr schicken.
Option Explicit
Public Sub Namen_suchen()
Range("A3:A" & Cells(Rows.Count, "B").End(xlUp).Row).FormulaLocal = _
"=WENN(TEIL(B3;4;2)TEIL(B2;4;2);SVERWEIS(TEIL(B3;4;2)*1;werte!A:B;2;FALSCH);"""")"
Range("A3:A" & Cells(Rows.Count, "B").End(xlUp).Row).Value = _
Range("A3:A" & Cells(Rows.Count, "B").End(xlUp).Row).Value
End Sub
Und noch mal der Hinweis: Das geht auch ohne VBA mit einer SVERWEIS Formel.
Gruß Werner
Anzeige
AW: Gerne geschehen und danke für die Rückmeldung!
02.12.2020 12:55:42
Müller
Hallo Werner,
Sorry hab das übersehen, aber Danke nochmal. Ich wollte das nicht SVERWEIS machen.
werde Deine Lösung nachermal testen.
VG
Tom
Leute wie du...
06.12.2020 13:49:59
Werner
Hallo,
...gehen mir gewaltig auf den Zeiger. Solange was nicht so funktioniert wie vorgestellt, reicht es um sich hier zu melden.
Für ein Feedback und ggf. einen Dank für die Hilfe dann aber nicht mehr.
Weiter so, da macht helfen so richtig Spaß.
Gruß Werner
AW: Leute wie du...
06.12.2020 13:52:06
Nepumuk
mimimimi
AW: Gerne geschehen und danke für die Rückmeldung!
02.12.2020 11:07:44
Herbert_Grom
Hallo Tom,
die beigef. Lösung hat bei mir einwandfrei funktioniert:
https://www.herber.de/bbs/user/142005.xlsm
Servus
Anzeige
AW: Gerne geschehen und danke für die Rückmeldung!
02.12.2020 12:59:34
Müller
Hallo Herbert,
funktioniert aber ich wollte halt nur die Beschriftung bei einen Wechsel bei Dir ist jede Artikelnummer beschriftet.
VG
Tom
AW: Gerne geschehen und danke für die Rückmeldung!
02.12.2020 16:05:47
Herbert_Grom
Sorry, das habe ich übersehen. Kriegst du das hin? Wenn nicht, gib Bescheid!
Servus
AW: Gerne geschehen und danke für die Rückmeldung!
02.12.2020 16:14:02
Herbert_Grom
Hallo Tom,
damit klappts:
Sub test()
iLastRow = Tabelle1.Cells(1048576, 2).End(xlUp).Row
For a = 3 To iLastRow
x = Tabelle1.Cells(a, 2)
y = Mid(x, 4, 2) * 1
Z = Application.Match(y, Tabelle2.Range("A:A"), 0)
If aa  y Then
ArtBez = Tabelle2.Range("B" & Z)
Tabelle1.Range("A" & a).Value = ArtBez
aa = y
End If
Next a
End Sub
Servus
Anzeige
AW: Anhand der Artikelnummer den Namen in der Spalte daneben darstellen
01.12.2020 17:11:47
Werner
Hallo,
und warum per VBA, ginge auch mit einer SVERWEIS-Formel.
In der Beispielmappe befindet sich die Zuordnung in Tabelle2 Spalte A und B.
Formellösung in Tabelle1 in Spalte C
Die Makrolösung schreibt die SVWEREIS-Formel in Spalte A und wandelt die Formel in Werte um.
https://www.herber.de/bbs/user/141993.xlsm
Gruß Werner

208 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige