Anzeige
Archiv - Navigation
1744to1748
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

VBA autom. Zuordnung über mehrere WKS

VBA autom. Zuordnung über mehrere WKS
24.03.2020 18:52:33
Nina
Liebe Community,
ich sitze seit einigen Stunden an einem Makro und komme nicht mehr weiter.
Ich habe folgende Situation: In der Zelle C1 des worksheets "TLN" kann die "Anzahl der Sessions" eingetragen werden. Es werden dann genauso viele worksheets erstellt (session 1, session 2 ... session n) und im worksheet "TLN" entsprechend viele Spalten mit dem Namen session 1, session 2 usw. benannt. Das funktioniert auch alles echt super. Hier der Code:

Public Sub Worksheet_Change(ByVal Target As Range)
Dim anzahl As Long
Dim wks As Worksheet
If Target.Address = "$C$1" Then
Range("C3:AAA3").Clear
Application.DisplayAlerts = False
For Each wks In ThisWorkbook.Sheets
If UCase(wks.Name)  "TLN" And _
LCase(wks.Name)  "session 1" Then wks.Delete
Next
Application.DisplayAlerts = True
For anzahl = 1 To Range("C1").Value - 1
Cells(3, anzahl + 2) = "session " & anzahl + 1
Sheets.Add after:=Sheets(Sheets.Count)
ActiveSheet.Name = "session " & anzahl + 1
Worksheets("TLN").Activate
Next
End If
End Sub

Und jetzt zu meinem Problem:
In Spalte A des Worksheets "TLN" stehen Teilnehmer, die manuell eingetragen werden und schließlich einen Buchstaben (H oder a bis g) pro Session zugeordnet bekommen (alles manuelle Eingabe)
Bsp. 2 sessions
A4 = Teilnehmer 1; B4 = a; C4 = b
A5 = Teilnehmer 2; B5 = a; C5 = a
A6 = Teilnehmer 3; B6 = b; C6 = a
Nun gibt es die Registerkarte session 1, die wie folgt aussehen soll:
A1 = "a" (Überschrift) ; B1 = "b"
A2 = TLN 1 ; B2 = TLN 3
A3 = TLN 2
Das soll automatisch über alle Registerkarten passieren.
Hier der erste Teil des Codes:

Private Sub btnZUORDNEN_Click()
Dim wks As Worksheet
Dim wksQuelle As Worksheet
Dim wksZiel As Worksheet
Dim s() As Variant      'Spalten-Buchstaben Ziel
Dim z As Long           'Zeile Quelle
Dim i As Integer        'Spalte Quelle
i = 2
For Each wks In ActiveWorkbook.Sheets
If UCase(wks.Name)  "TLN" Then
'Überschrift einfügen und Spalten erstellen
Worksheets(wks.Name).Range("A1") = wks.Name
Worksheets(wks.Name).Range("A1").Font.Bold = True
Worksheets(wks.Name).Range("A1").Font.Size = 14
Worksheets(wks.Name).Columns("A:A").AutoFit
Worksheets("session 1").Range("A3:P3").Copy _
Destination:=Worksheets(wks.Name).Range("A3")
'Teilnehmer hinzufügen
Set wksZiel = wks.Name
Set wksQuelle = Worksheets("TLN")
s = Array("A", "B", "C", "D", "E", "F", "G", "H")
With wksQuelle
For z = 4 To .Cells(Rows.Count, i).End(xlUp).Row
Next z
End With
i = i + 1
End If
Next wks
End Sub

Ich würde mich sehr freuen, wenn mir jemand weiterhelfen kann.
Vielen lieben Dank im Voraus & LG Nina

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA autom. Zuordnung über mehrere WKS
25.03.2020 07:13:08
Oberschlumpf
Hi Nina,
zeig doch mal bitte per Upload eine Bsp-Datei mit Bsp-Daten und deinem bisherigen Code.
Vielleicht kann es für das Verstehen helfen, wenn du 1 oder 2 Tabellenblätter hinzufügst, in denen du manuell einträgst, wie alles später mit Hilfe von VBA aussehen soll.
Ciao
Thorsten
AW: VBA autom. Zuordnung über mehrere WKS
25.03.2020 19:23:54
Oberschlumpf
Hi Nina,
hmm....danke für die Datei.
Aber wofür benötigst du Session2 bis SessionN?
In Session2 bis SessionN sind ja im Blatt TLN gar keine Einträge vorhanden.
Oder kann es sein, dass du beim Erstellen der Bsp-Datei vergessen hast, in TLN auch alle Spalten auszufüllen?
Kannst du bitte eine bessere Bsp-Datei zeigen?
Ciao
Thorsten
sorry, ich kenne deine Gedanken nicht. Ich weiß nicht, warum wann oder ob überhaupt in Session2,3,n Einträge gemacht werden sollen
Anzeige
AW: VBA autom. Zuordnung über mehrere WKS
25.03.2020 20:34:50
Nina
Hallo Thorsten,
Ich habe nur die erste Spalte befüllt in der Beispiel Datei.
Wenn die Datei schlussendlich eingesetzt wird, überlegt sich der User im Vorfeld wie viele Sessions benötigt werden, gibt die Zahl ein und macht dann die Zuteilung der Teilnehmer. Wenn also 5 eingegeben wird, dann muss der User natürlich alle 5 Spalten befüllen :)
Ziel ist es, dass man pro Session weiß, welche Teilnehmer zu welchem Buchstaben gehören und dafür eben ein eigenes worksheet hat.
Ich hoffe ich konnte es einigermaßen gut erklären.
LG Nina
AW: VBA autom. Zuordnung über mehrere WKS
25.03.2020 20:45:19
Oberschlumpf
Hi Nina,
nein, konntest du nich erklären.
Versuch mal, ich zu sein.
ICH hab null Plan von dem was DU erreichen willst.
Und wenn du mir nicht eine Bsp-Datei zeigen kannst, in der in allen Spalten wenigstens einige Einträge vorhanden sind, dann weiß ich nicht, was ich tun soll.
Ciao
Thorsten
Anzeige
AW: VBA autom. Zuordnung über mehrere WKS
26.03.2020 07:55:24
Nina
Guten Morgen,
neuer Tag, neues Glück :)
Hier noch mal eine Beispieldatei: https://www.herber.de/bbs/user/136107.xlsm
Ich formuliere es jetzt völlig anders: Der Moderator eines Workshops hat x Teilnehmer, mit denen er im Laufe des Workshops y Übungen machen will (y sessions). Die Übung wird in Kleingruppen bewältigt (das ist die Buchstaben-Zuteilung) .
Für dieses Beispiel heißt das also, dass es 2 Übungen geben wird, wobei bei der 1. Übung 5 Kleingruppen gebildet wurden und bei der 2. Übung 7 Kleingruppen gegründet wurden.
Bei dem designen eines Workshops überlegt sich der Moderator im Vorfeld wie oft er eine Übung machen will (Anzahl der Sessions) und in welche Gruppen er die Teilnehmer einteilt.
Wenn ich nun als Moderator die Session eingetragen und die Zuteilung in den Spalten (wks TLN) fertig habe, drücke ich den Button "zuordnen" und ich sehe die Gruppeneinteilung je Übung.
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige