Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1408to1412
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

Vor- und Zunamen aus einer Liste auslesen

Vor- und Zunamen aus einer Liste auslesen
15.02.2015 15:39:51
Lutz
Hallo Luschi,
vielen Dank für Deine Lösung,die sehr viel versprechend aussieht, d.h. sie scheint das zu tun, was ich eigentlich wollte. Allerdings habe ich noch einige Fragen, die sich auf das Tabellenblatt "Ergebnisse (Gesamt)" beziehen. Dadurch, dass die ursprünglichen Blätter "Wassertechnik", "Wärmetechnik", "Lufttechnik" und "Umwelttechnik" erhalten bleiben, kommt die Reihenfolge auf dem Blatt "Ergebnisse (Gesamt)" ziemlich durcheinander. Aber damit kann ich leben; ich muss nur die neu erzeugten Blätter an die richtigen Positionen hinter "Ergebnisse (Gesamt)" bringen und die leeren Blätter vermutlich löschen.
Wie kann ich deine Lösung in meine vorhandene Vorlagentabellen einbinden?
Gruß
Lutz

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

Betreff
Datum
Anwender
Anzeige
n kleiner Tipp...
15.02.2015 16:01:29
Oberschlumpf
Hi Lutz
du könntest mehr/schneller Antworten erhalten, wenn du deine Datei auch hier per Upload zeigst.
Denn, was ist, wenn Luschi gerade kramk, im Urlaub oder besoffen :-) ist?
Dann musste länger warten.
Ein Forum ist eine Selbsthilfe-Gruppe, die aus vielen Mitgliedern besteht.
Viel Erfolg.
Ciao
Thorsten

AW: n kleiner Tipp...
15.02.2015 17:50:33
Lutz
Hallo Thorsten,
da sich bis jetzt nur Luschi mit meinem Problem beschäftigt hat, war es für mich selbstverständlich, mich auch in diesem Fall an ihn zu wenden.
Ich habe eine Datei, die ich als Vorlage für Gesellenprüfungen für Anlagenmechaniker SHK (Sanitär- Heizung-Klimatechnik) verwende. Diese Datei will ich nun mit dem VBA-Code, den Luschi geschrieben hat, ausstatten. Ich weiß nur nicht, wie ich den Code dort hinein kopiert bekomme. Luschi's Lösung findet ihr hier: https://www.herber.de/bbs/user/95688.xlsm .
Meine urspüngliche Datei findet ihr unter: https://www.herber.de/bbs/user/95370.xlsm

Anzeige
AW: n kleiner Tipp...
15.02.2015 19:55:58
Luschi
Hallo Lutz,
so ganz Habe ich Dein Anliegen noch nicht verstanden. Gib doch noch mal ein paar Infos dazu.
Gruß von Luschi
aus klein-Paris

AW: n kleiner Tipp...
15.02.2015 20:09:13
Lutz
Hallo Luschi,
wenn ich dein Makro aufrufe per "Start" werden die jeweiligen Kopien der Blätter hinter das Blatt "Ergänzungsprüfung" angefügt. Sie müssten aber hinter das Blatt "Ergebnisse (Gesamt)". Das kann ich aber auch manuell durchführen. Meine, mir wichtigere, Frage lautet: Wie kopiere ich dein Makro in meine Datei,
in der noch keine Prüflinge auf "Ergebnis (KP)" eingetragen sind?
Gruß
Lutz

AW: n kleiner Tipp...
16.02.2015 04:53:51
Luschi
Hallo Lutz,
hier die gewünschte Änderung. Es gibt jetzt die Variable 'xPos' dafür.
Zum Kopieren des Moduls 'mod_Luschi' gibt es 3 Methoden:
- Abtippen?!?
- im Vba-Editor per Kontextmenü Datei exportieren.../Datei importieren...
- per Drug & Drop mit linker gedrückter Maustaste mein Modul in Dein Projekt ziehen
  (beide Dateien in der selben Excelinstanz öffnen)
https://www.herber.de/bbs/user/95784.xlsm
Gruß von Luschi
aus klein-Paris

Anzeige
AW: n kleiner Tipp...
16.02.2015 16:31:38
Lutz
Hallo Luschi,
vielen Dank an dich im Besonderen und an das Forum im Allgemeinen für die viele Mühe und Geduld, die ihr euch mit mir gegeben habt. Deine Lösung funktioniert wunderbar und alle Anlagenmechaniker SHK der Innung Bochum sind euch richtig dankbar.
Gruß
Lutz

AW: n kleiner Tipp...
17.02.2015 19:35:12
Lutz
Hallo Luschi,
ich habe deine Lösungsdatei genommen und sie als Vorlage für die Prüfungsdurchführung genommen. Dabei musste ich noch einige kleinere Änderungen auf dem Blatt "Ergebnisse (Gesamt)" vornehmen. Ich habe für die Sommerprüfung die Prüfungsteilnehmer eingetragen und dann auf den Button "Start" geklickt. Dann erschien folgende Meldung: Laufzeitfehler 1004.
Ich habe noch eine Kopie des Debuggers angefertigt, sie sieht so aus:
Sub Start_P_Listen_Neu_Erstellen()
Dim wb As Workbook, ws1 As Worksheet, ws2 As Worksheet, _
~rg As Range
Dim lstObj As ListObject, dic As Object
Dim j As Long
Dim s1 As String, s2 As String
Dim xPos As String
Set wb = ThisWorkbook
Set ws1 = Tabelle1
Set lstObj = ws1.ListObjects("VertiefungsRichtung")
Set dic = CreateObject("Scripting.Dictionary")
xPos = "Ergebnisse (Gesamt)"
'Liste 'VertiefungsRichtiung' in Dictionary lesen
' Vorteil/Nutzten: ein Dictionary besitzt die Methode 'Exists', mit der überprüft
' werden kann, ob ein angegebener Schlüsselwert vorhanden ist
For Each rg In lstObj.DataBodyRange.Columns(1).Cells
dic.Add rg.Offset(0, 1).Value, CStr(rg.Value)
Next rg
Set lstObj = Nothing
Set rg = ws1.Cells(6, "B")
'ab Zelle 'B6' bis eine leere Zelle in der Spalte 'B' kommt (--> Schleifenende)
</li></pre>Do While Trim(rg.Value) <> ""
'Name & Vorname des Prüflings
s1 = rg.Value & "_" & rg.Offset(0, 1).Value
'Id der VertiefungsRichtung
j = rg.Offset(0, 2).Value
'Vertiefungsrichtung
If dic.Exists(j) Then
'Bezeichnung der VertiefungsRichtung
s2 = dic.Item(j)
With wb
'entsprechende Muster-Tabelle kopieren
.Worksheets(s2).Copy After:=.Worksheets(xPos)
Set ws2 = ActiveSheet
End With
<b>'Tabellenname umbenennen
'Kennzeichen der Prüflings-Tabellen ist das ASCII-Zeichen mit der ID: 160
ws2.Name = s1 & Chr(160) & s2
xPos = ws2.Name</b>
Set ws2 = Nothing
Else
MsgBox "Die aktuelle ID '" & j & "' für die Vertiefungs-Richtung ist " & _
"leider ungültig!" & vbCrLf & vbCrLf & "Für den Prüfling '" & s1 & "'" & _
"kann kein Tabellenblatt angelegt werden.", 64 + vbSystemModal, "zur Information..."
End If
'1 Zeile tiefer
Set rg = rg.Offset(1, 0)
Loop
Hier der Link zu der Datei: https://www.herber.de/bbs/user/95827.xlsm
Was habe ich verkehrt gemacht, vorher lief alles perfekt?
Gruß
Lutz

Anzeige
AW: n kleiner Tipp...
17.02.2015 20:10:46
Luschi
Hallo Lutz,
der zu bildende Tabellenname 'Garfunkels_Jevgenijs Wassertechnik' ist zu lang.
er darf nur eine Länge von 31 Zeichen haben - es sind aber 34 und deshalb kommt der Vba-Fehler.
Mach mal einen Vorschlag.
Bastürk_Serdar Wassertechnik 28
Garfunkels_Jevgenijs Wassertechnik 34
König_Dennis Wassertechnik 26
Öncü_Ümit Wassertechnik 23
Rohmann_Jannis Wassertechnik 28
Weichert_Nico Wassertechnik 27
Wnuk_Timo Wassertechnik 23
Gruß von Luschi
aus klein-Paris

AW: n kleiner Tipp...
18.02.2015 15:20:41
Lutz
Hallo Luschi,
vielen Dank, solche Antworten sind ja auch zu einfach. Ich habe den Namen auf Jev_ verkürzt und mir einen Hinweis auf dem Blatt "Ergebnisse (KP)" gemacht, dass Vor- und Zuname nur 31 Zeichen lang sein dürfen.
Dann noch eine letzte Frage. Trägt deine VBA-Lösung Formeln auf dem Blatt "Ergebnisse (Gesamt)" ein? Wenn ja, wie kann ich die Zielzelle ändern?
Gruß
Lutz

Anzeige
AW: n kleiner Tipp...
18.02.2015 18:44:47
Luschi
Hallo Lutz,
ich würde lieber die Spezialisierungsrichtungen abkürzen UT statt Umwelttechnik (11 Zeichen gespart).
Wenn jetzt verstärkt ausländische Lehrlinge kommen, wird man sowieso vor dem Problem stehen, die langen Namensbezeichnungen einzukürzen.
Die Tabelle 'Ergebnisse (Gesamt)' wird von Vba-Code nicht angefaßt und es werden auch keine Formeln oder Werte reingeschrieben.
Der einzige Aufruf: xPos = "Ergebnisse (Gesamt)"
wird benötigt, um die neu erzeugten Tabellen dahinter einzufügen:
.Worksheets(s2).Copy After:=.Worksheets(xPos)
Gruß von Luschi
aus klein-Paris

Anzeige
AW: n kleiner Tipp...
18.02.2015 18:57:10
Lutz
Hallo Luschi,
danke für deinen Hinweis mit den Arbeitsblättern, ich werde sie in "WaT" (Wassertechnik), "WäT" (Wärmetechnik), "UT" (Umwelttechnik) und "LT" (Lufttechnik) umbenennen. Ich nehme an, dass dies keine Auswirkungen auf den VBA-Code hat. Trotzdem werde ich den Hinweis auf die Namenslänge im Tabellenblatt "Ergebnis(KP)" lassen, damit evtl. Nachfolger Fehler leichter identifizieren können.
Gruß
Lutz

AW: n kleiner Tipp...
18.02.2015 21:53:31
Luschi
Hallo Lutz,
es ist wie immer, die kleinsten Änderungen machen die meinste Arbeit. Deshalb schicke ich Dir eine neue Datei.
Alle Vba-Änderungen befinden sich im Modul 'mod_Luschi'. In der Tabelle 'Ergebnis (KP)' habe ich die formatierte Tabelle - unterhalb des Start-Buttons um 1 Spalte erweitert für den Tabellenzusatz.
Aber wie es so ist: keine Umlaute!!! in Feld- & Tabellennamen verwenden (auch wenn es in der täglichen Praxis möglich ist, doch Vba spricht nun mal amerikanisch - und 'Principiis obsta'/'wehret den Anfängen').
Deshalb hat der Postfix für Wärmetechnik bei mir die Abkürzung 'WaeT' - sorry!!!
https://www.herber.de/bbs/user/95852.xlsm
Gruß von Luschi
aus klein-Paris
Anzeige

314 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige