Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1456to1460
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

Namensliste ergänzen

Namensliste ergänzen
04.11.2015 20:34:09
Holger
Hallo Leute,
wer kann mir bei meinem Problem helfen?
Ich habe in der "Tabelle1" von B1 bis B5 fünf verschiedene Namen. Diese werden aus einer anderen Mappe eingelesen und in weiteren Spalten ergänzt. Diese Namen sollen auch in der Tabelle2 Spalte B stehen. So weit, so gut.
Wenn in der "Tabelle1" neue Daten eingelesen werden, kann es sein, dass neue Namen dabei sind, die Reihenfolge der bereits bekannten Namen anders ist oder auch Namen fehlen.
In der "Tabelle2" sollen nach dem Einlesen in "Tabelle1" die neuen Namen unter den fünf bereits vorhandenen erscheinen.
Das Einlesen soll beleibig oft wiederholt werden können, jedoch soll die Liste in "Tabelle2" immer nur um die neuen Namen ergänzt werden. Jeder Name taucht in "Tabelle1" immer nur ein mal auf.
Ich hoffe meine Erklärung war einigermaßen verständlich, auch ohne Mustertabelle.
Gibt es eine Lösung möglichst auf Formelbasis?
Vielen Dank im Voraus.
Eiserne Grüße aus der Hauptstadt
Holger

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Namensliste
05.11.2015 07:17:50
fcs
Hallo Holger,
wie werden in Tabelle1 die Namen eingelesen? Formeln oder Abfrage?
Nach deiner Beschreibung werden die zusätzlichen Daten in Tabelle1 neben den eingelesenen Namen eingegeben. Das wird bei variabler Anzahl und Reihenfolge nicht funktionieren, da die Zuordnung der Namen zu den eingegeben Daten nach einer Aktualisierung der Namensliste mit hoher Wahrscheinlichkeit nicht mehr stimmt.
Die eingelesenen Namen müssen fix in einen separaten Zellbereich kopiert werden.
Eine Formel-Lösung für die Übernahme ist nach meiner Einschätzung hier nicht möglich, da die eingelesenen Namen zu variabel in Anzahl und Reihenfolge sein können.
Makro-Lösung:
A) In die Datei integriert: Nach dem Öffnen der Datei oder nach manueller Aktion werden die Namen auf neue Namen kontrolliert und ggf. neue Namen ans Ende der Liste kopiert.
B) in Persönlich-Makro-Arbeitsmappe
Wenn du der einzige Anwender bist, der die Datei benutzt,dann kann das Makro für manuellen Start auch in diese Arbeitsmappe auslagert werden.
Gruß
Franz

Anzeige
AW: Namensliste
05.11.2015 10:17:44
Holger
Hallo Franz,
vielen Dank für Deine Antwort. Hatte mir schon gedacht, dass es so einfach nicht geht.
Die Werte in Tabelle1 werden monatlich aus einem Buchhaltungsprogramm in diese Tabelle exportiert. Alte Werte werden dabei überschrieben. Das klappt wie ich es möchte.
Dann werden in dieser Tabelle manuell Ergänzungen vorgenommen. (Diesen Schritt könnte man an dieser Stelle auch weglassen)
In der zweiten Tabelle soll dann wie beschrieben die Auflistung der "Namen" aus Tabelle1 erfolgen. Ich will aber dort unbedingt noch ein paar Eingaben, in den folgenden Spalten, zu den Namen machen, die bei den bereits vorhandenen vielen Namen konstant bleiben sollen. Daher soll sich die Reihenfolge der bereits vorhandenen Namen nicht ändern.
Weil mit dieser Tabelle mehrere Mitarbeiter arbeiten sollen (die noch weniger Ahnung haben als ich), wäre es schön, wenn bis auf den manuellen Teil alles automatisiert ablaufen könnte.
Ich hoffe, meine Ausführungen konnten die Fragestellung etwas präziser darstellen.
Danke noch mal für die Hilfe.
Eiserne Grüße aus der Hauptstadt
Holger

Anzeige
AW: Namensliste
05.11.2015 19:56:42
fcs
Hallo Holger,
nachfolgend ein Gerüst für ein entsprechend es Makro in dem du die Blattnamen und die Spalten etc. noch entsprechend anpassen musst.
Da die Aktualisierung nur einmal pro Monat erforderlich ist sollte dieses Makro von Hand gestartet werden, wenn die Daten im Blatt Tabelle1 durch den Export aktualisiert worden sind.
Über einen Kontrolleintrag, den das Makro unterhalb der Namen einfügt, wird das Makro so gesteuert, dass die Namen in Tabelle2 nur aktualisiert werden, wenn die Daten Tabelle1 durch den Export üerschrieben wurden.
Die Beispieldatei ist so eingericht, dass beim Öffnen der Datei automatisch das AKtualisierungsmakro ausgeführt wird.
https://www.herber.de/bbs/user/101276.xlsm
Gruß
Franz
Sub Aktualisieren_Namen()
Dim wksNamen As Worksheet
Dim wksData As Worksheet
Dim strName As String
Dim rngName As Range
Dim Zeile_N As Long, Zeile_D As Long
'Tabellenblatt in das die Daten monatlich exportiert werden
Set wksNamen = ActiveWorkbook.Worksheets("Tabelle1") 'Name ggf. anpassen
Const SpaName_N = 2 'Spalte B - Spalte mit Namen - Nummer ggf. anpassen
'Tabellenblatt in das die Namen übertragen werden sollen
Set wksData = ActiveWorkbook.Worksheets("Tabelle2") 'Name ggf. anpassen
Const SpaName_D = 1 'Spalte A - Spalte mit Namen - Nummer ggf. anpassen
With wksNamen
'Prüfen, ob Kontrolleintrag vorhanden unterhalb der Namen
Zeile_N = .Cells(.Rows.Count, SpaName_N).End(xlUp).Row
If Left(.Cells(Zeile_N, SpaName_N).Text, Len("Uebertragen am")) _
= "Uebertragen am" Then
'Daten sind nicht aktualisiert worden
Else
'Namen in Spalte B (2) abarbeiten
For Zeile_N = 1 To Zeile_N
strName = .Cells(Zeile_N, SpaName_N).Text
With wksData
'Name in Spalte A suchen - Spalte ggf anpassen
Set rngName = .Columns(SpaName_D).Find(what:=strName, LookIn:=xlValues, _
lookat:=xlWhole)
If rngName Is Nothing Then 'Name ist neu
'nächste freie Zeile in Spalte mit Namen
Zeile_D = .Cells(.Rows.Count, SpaName_D).End(xlUp).Row + 1
'Name am Ende der Liste anfügen
.Cells(Zeile_D, SpaName_D).Value = strName
.Cells(Zeile_D, 7).Value = Date   'Datum in Spalte G eintragen
Else
'Name ist in Liste vorhanden
Zeile_D = rngName.Row
.Cells(Zeile_D, 8).Value = Date   'Datum in Spalte H eintragen
End If
'Falls weitere Daten aus dem Blatt mit den exportierten Daten _
übertragen werden sollen, dann so
'.Cells(Zeile_D, 2).Value = wksNamen.Cells(Zeile_N, 3).Value 'C --> B
End With
Next Zeile_N
'Kontrolleintrag unter den Namen einfügen
Zeile_N = .Cells(.Rows.Count, SpaName_N).End(xlUp).Row + 1
.Cells(Zeile_N, SpaName_N).Value = "Uebertragen am" & Format(Date, "YYYY-MM-DD")
End If
End With
End Sub

Anzeige
AW: Namensliste
06.11.2015 10:02:33
Holger
Hallo Franz,
habe gerade Dein Gerüst in meine Tabelle eingebaut. Klappt super, einfach genial.
=wiederholen("Danke!!";1000)
Eiserne Grüße aus der Hauptstadt
Holger

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige