Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
616to620
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
616to620
616to620
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Kundennummer in andererm Tabellenblatt einfühgen

Kundennummer in andererm Tabellenblatt einfühgen
04.06.2005 00:15:31
gregor
Hallo,
ich habe ein Tabbelenblatt mit Kunden (Kundenliste)
nun soll in einem anderen Tabellenblatt die Nummer
eingetragen werden, so bald eine bestimmte Postleitzahl
oder Ort in ein Feld eingetragen wird.
Also:
Eingabe Tabellenblatt "Aktion"
in Zelle A5 "PLZ"; A6 "Ort"; A7 "Strasse"; ...
nun sollen diese Daten mit den vorhandenen aus Liste,
Tabellenblatt "Kunden-Liste" verglichen und bei Übereinstimmung
in Tabellenblatt "Aktion", die Kundennummer aus der "Kunden-Liste"
in Zelle A9 "Aktion" eingetragen werden.
Ziel:
die neuen Daten-Eingaben der Tabelle "Aktion" sollten
automatisch mit zugehörigen Kundennummern versehen werden.

Ich würde mich über einen Tipp freuen
Gregor
Level: Excel gut-VBA mittel
ich kenne ein paar VBA Funktionen und habe schon ein paar VBA
gemacht, also weder nein noch gut, mittel eben.

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Kundennummer in andererm Tabellenblatt einfühgen
04.06.2005 14:00:08
Heiko S.
Hallo Gregor,
ich würde das über Autofilter und VBA lösen.
guckst du hier: https://www.herber.de/bbs/user/23625.xls
Darin habe ich mal ein kleines Beispiel gemacht.
Es kann auch dann suchen wenn nicht alle Felder zum suchen ausgefüllt sind, gibt dann aber wenn mehr als ein Kunde ausgefiltert wird ne Fehlermeldung aus.
Probiere einfach mal ein bisschen mit rum, wenn es das ist was du suchst mußt du es halt auf deine Datei anpassen. ( Sheetnamen, Spalten ... )
Gruß Heiko
PS: Rückmeldung wäre nett
AW: Kundennummer in andererm Tabellenblatt einfühgen
04.06.2005 23:29:39
gregor
danke,
das sieht schon gut aus,
doch noch nicht so ganz das was ich suche,
die suche beschränkt sich auf eine,
ich möchte Zeilen und am Ende jeder Zeile die Kundennummer automatisch,

ich kann das auch noch so vormulieren
"eine Tabelle mit Kunden oder Artikeln
eine Tabelle in der die Adressen oder Artikel eingebeben werden,
dann soll da automatisch am Ende jeder Zeile eine Zelle
ausgefüllt werden mit der zugehörigen Kundennummer oder Artikelnummer aus der liste,
so das dann eine individuelle Liste mit Artikeln bzw Kunden entsteht"
Nun ich werd mal sehen ob ich was mit Deiner Vorlage basteln kann,
Danke
Anzeige
AW: Kundennummer in andererm Tabellenblatt einfühgen
05.06.2005 11:58:10
gregor
Hallo Heiko,
mir ist ein Fehler in dem Script aufgefallen,
wenn die Suchfelder alle leer sind gibt es ein Problem in Zeile 42,
auch wenn der Autofilter in Tabelle2 deaktiviert wurde, gab es Probleme,
ich habe das Problem mit einem Modul gelöst,
https://www.herber.de/bbs/user/23640.xls
"Modul" da ich die Funktion Range("A1") nicht in die Private Sub bekommen habe,
gibt es eine andere Lösung da für?
jeden falls geht jetzt auch bei ausgeschaltetem Autofilter die Suchfunktion,
Gregor
Automatische Zuordnung aus Liste holen
05.06.2005 12:21:41
gregor
Hallo,
ich habe hier eine Arbeit:
https://www.herber.de/bbs/user/23641.xls
schön wärs, wenn die ADM Nummer automatisch in die Zelle "I"
der jeweiligen Zeile, eingetragen würde,
dann muss nicht jedes mal gesucht werden,
wenn eine neue Zeile ausgefüllt wird.
Vielleicht gibt es noch eine Lösung da für.
Doch Danke für die Unterstützung in diesem Forum,
dadurch wurde es mir erst möglich diese Arbeit so weit zu erstellen.
Gregor
Anzeige
AW: Automatische Zuordnung aus Liste holen
05.06.2005 20:25:07
Stefan B.
Hallo Gregor,
Ich wuerde die SVERWEIS Formel benutzen (=SVERWEIS(D4,Tabelle2!$E$3:$F$22,2,FALSCH)). Die wuerde aber sicherlich besser arbeiten, wenn Du Die Kundennummer schon in der Liste haettest. Die obige Formel arbeitet jetzt nur mit der Adresse, was sicher nicht optimal ist.
Schoene Gruesse
Stefan B.
AW: Automatische Zuordnung aus Liste holen
05.06.2005 22:26:34
gregor
Super, danke Stefan,
das ist genau was ich benötige
Muster:

Die Datei https://www.herber.de/bbs/user/23645.xls wurde aus Datenschutzgründen gelöscht

(kann die Formel auch mehrere Argumente vergleichen,
also nicht nur PLZ, sondern dazu noch die Stasse ?)

Gregor
Anzeige
AW: Automatische Zuordnung aus Liste holen
07.06.2005 01:17:04
Stefan B.
Hallo Gregor,
Nicht dass ich wuesste. Da ich dass Problem aber auch des oefteren habe, mache ich immer einen kleinene Umweg. Ich arbeite dann immer mit einer Hilfsspalte, die ich dann auch ausblenden kann. Ich hab Deine Datei entsprechend angepasst. Hier der Link:
https://www.herber.de/bbs/user/23682.xls
Schoene Gruesse
Stefan B.
Inhalt mehrerer Zellen in einer zusammenfassen
07.06.2005 10:18:40
gregor
Hallo Stefan,
das ist ja eine feine Sache mit =C&E
ich habe schon früher überlegt wie ich den Inhalt zweier Zellen
in eine bekomme, aber dass das so einfach ist, toll
mit der Kenntniss kann ich viel machen.
Danke Dir,

Gregor
Anzeige
AW: Kundennummer in andererm Tabellenblatt einfühgen
06.06.2005 10:41:01
Heiko S.
Hallo Gregor,
hier eine Version die bei aus und eingeschalteten Autofiltern läuft.

Private Sub CommandButton1_Click()
Dim lngI As Long, intCounter As Integer
Dim strKundennummer As String
intCounter = 0
Application.ScreenUpdating = False
Sheets("Tabelle2").Activate
If Sheets("Tabelle2").AutoFilterMode Then Sheets("Tabelle2").AutoFilterMode = False
Sheets("Tabelle2").Columns("A:E").AutoFilter
If Sheets("Tabelle1").Range("A5") <> "" Then
Selection.AutoFilter Field:=1, Criteria1:=CStr(Sheets("Tabelle1").Range("A5"))
End If
If Sheets("Tabelle1").Range("A6") <> "" Then
Selection.AutoFilter Field:=2, Criteria1:=CStr(Sheets("Tabelle1").Range("A6"))
End If
If Sheets("Tabelle1").Range("A7") <> "" Then
Selection.AutoFilter Field:=3, Criteria1:=CStr(Sheets("Tabelle1").Range("A7"))
End If
If Sheets("Tabelle1").Range("A8") <> "" Then
Selection.AutoFilter Field:=4, Criteria1:=CStr(Sheets("Tabelle1").Range("A8"))
End If
For lngI = 2 To Sheets("Tabelle2").Range("E65536").End(xlUp).Row
If Sheets("Tabelle2").Rows(lngI).EntireRow.Hidden = False Then
intCounter = intCounter + 1
strKundennummer = Sheets("Tabelle2").Range("E" & lngI)
End If
Next lngI
If intCounter > 1 Then
MsgBox "Kundennummer nicht eindeutig !!!"
ElseIf strKundennummer = "" Then
MsgBox "Nix gefunden !", vbCritical
Else
MsgBox strKundennummer
Sheets("Tabelle1").Range("A9") = strKundennummer
End If
If Sheets("Tabelle2").AutoFilterMode Then Sheets("Tabelle2").AutoFilterMode = False
Sheets("Tabelle1").Activate
Application.ScreenUpdating = True
End Sub


Dein zweites Problem habe ich nicht verstanden, wenn du nicht nur die Zelle sondern ne Zeile kopiert haben möchtest, dann z.B. so.
'kopieren
Sheets("Tabelle2").Range("E" & lngI).EntireRow.Copy
' Einfügen
Sheets("Tabelle1").Paste Destination:=Worksheets("Tabelle1").Rows(20)
Gruß Heiko

PS: Rückmeldung wäre nett !
Anzeige
AW: Kundennummer in andererm Tabellenblatt einfühgen
06.06.2005 23:58:16
gregor
Hallo Heiko,
Super,
das ist gut,
ich wollte mit Range erreichen, dass die Zelle A1 aktiviert wird,
damit der Autofilter richtig ansetzen kann,
doch (Range("A1").Select) ging nicht
mit (Sheets("Tabelle2").Range("A1").Select) gehts,
allerdings hat sich das Problem durch
(If Sheets("Tabelle2").AutoFilterMode Then Sheets("Tabelle2").AutoFilterMode = False)
erledigt,

der
'kopieren
Sheets("Tabelle2").Range("E" & lngI).EntireRow.Copy
' Einfügen
Sheets("Tabelle1").Paste Destination:=Worksheets("Tabelle1").Rows(20)
ist auch super
doch wird immer eine Zeile unter der gefilterten kopiert und eingefühgt ¿
.(
kann excel auch einzelne/mehrere bestimmte Zellen (aus der gefilterten Zeile)
kopieren und in eine besimmt Zelle einfühgen ? (mit diesem befehl)
Danke
Anzeige
AW: Kundennummer in andererm Tabellenblatt einfühgen
07.06.2005 10:52:41
Heiko S.
Hallo Gregor,
das er nicht die richtige Zeile kopiert kann ich bei mir nicht feststellen. Hier nochmal der Code so wie ich íhn bei meiner (immer noch gleich aufgebauten) Beispieltabelle einsetzte.

Private Sub CommandButton1_Click()
Dim lngI As Long, intCounter As Integer
Dim strKundennummer As String
intCounter = 0
Application.ScreenUpdating = False
Sheets("Tabelle2").Activate
If Sheets("Tabelle2").AutoFilterMode Then Sheets("Tabelle2").AutoFilterMode = False
Sheets("Tabelle2").Columns("A:E").AutoFilter
If Sheets("Tabelle1").Range("A5") <> "" Then
Selection.AutoFilter Field:=1, Criteria1:=CStr(Sheets("Tabelle1").Range("A5"))
End If
If Sheets("Tabelle1").Range("A6") <> "" Then
Selection.AutoFilter Field:=2, Criteria1:=CStr(Sheets("Tabelle1").Range("A6"))
End If
If Sheets("Tabelle1").Range("A7") <> "" Then
Selection.AutoFilter Field:=3, Criteria1:=CStr(Sheets("Tabelle1").Range("A7"))
End If
If Sheets("Tabelle1").Range("A8") <> "" Then
Selection.AutoFilter Field:=4, Criteria1:=CStr(Sheets("Tabelle1").Range("A8"))
End If
For lngI = 2 To Sheets("Tabelle2").Range("E65536").End(xlUp).Row
If Sheets("Tabelle2").Rows(lngI).EntireRow.Hidden = False Then
intCounter = intCounter + 1
strKundennummer = Sheets("Tabelle2").Range("E" & lngI)
Sheets("Tabelle2").Range("E" & lngI).EntireRow.Copy
End If
Next lngI
If intCounter > 1 Then
MsgBox "Kundennummer nicht eindeutig !!!"
ElseIf strKundennummer = "" Then
MsgBox "Nix gefunden !", vbCritical
Else
MsgBox strKundennummer
Sheets("Tabelle1").Range("A9") = strKundennummer
Sheets("Tabelle1").Paste Destination:=Worksheets("Tabelle1").Rows(20)
Application.CutCopyMode = False
End If
If Sheets("Tabelle2").AutoFilterMode Then Sheets("Tabelle2").AutoFilterMode = False
Sheets("Tabelle1").Activate
Application.ScreenUpdating = True
End Sub

Und was du alle mit der Copy Methode machen kannst schaust du am besten in der VBA Hilfe nach. (Das Wort Copy im VBA Editor mit der Maus komplett markieren und F1 drücken).

Gruß Heiko

PS: Rückmeldung wäre nett !
Anzeige
Kundennummer in andererm Tabellenblatt einfühgen
12.06.2005 20:56:45
gregor
Hallo Heiko,
ich war die letzte Woche unterwegs,
danke für deine Hilfe,
mein Fehler ich habe die Copy Methode falsch eingesetzt,
an falscher Stelle im Code eingebaut,
Gruß
Gregor

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige