Thema Datum  Von Nutzer Rating
Antwort
Rot Wert suchen und Zeile ausgeben
14.11.2017 10:12:49 tktk92
NotSolved
14.11.2017 13:47:42 Gast92230
NotSolved
16.11.2017 18:00:07 xlKing
NotSolved

Ansicht des Beitrags:
Von:
tktk92
Datum:
14.11.2017 10:12:49
Views:
357
Rating: Antwort:
  Ja
Thema:
Wert suchen und Zeile ausgeben

Guten Tag zusammen,

Ich habe mir mal ein Code zusammengebastelt. Ich habe 0 Ahnung von VBA aber habe durch google und bisschen Logik mir selbst geholfen.

Nur hätte ich gerne den Code verbessert und eventuell komme ich durch eure Hilfe ohne Umwege an meine Lösung.

Situation:

Ich arbeite bei einer Asylberatung und wir haben 13 Schlusklassen für Deutschunterricht.

 

Tabelle 1  ist so aufgebaut:

Spalten: Name, Vorname, Betreuer, KlasseNov17,KlasseDez17, ..,.,,.,,.,,.,.,. KlasseDez18

Warum ich für jeden Monat eine Spalte habe ist weil die Schüler/klienten auch mal das Niveau wechseln und somit die Klasse wechseln würden. Wenn ich dies nicht so eintrage könnte man später die früheren Monate nicht nachverfolgen.

Nun müssen Anwesenheitslisten erstellt werden wo die Lehrer dann kontrollieren können ob alle Anwesend sind. Für den November 2017 ist das Tabellenblatt 2 gedacht.

Tabbelle 2:

Ansicht Seitenlayout, Querformat

und in diesem Tabellenblatt möchte ich jetzt ab Spalte A6 alle Klienten welche im November in der Klasse 1 sind aufgelistet haben. In Spalte A38 dann alle die in der klasse 2 sind.

 

Ich habe es nicht geschafft diese direkt ohne Umwege umzusetzen. Deswegen habe ich diesen Code benutzt:

Sub Klasse1Nov2017()
Dim Zeile As Long
Dim ZeileMax As Long
Dim n As Long


With Tabelle1
ZeileMax = .UsedRange.Rows.Count
n = 2

For Zeile = 2 To ZeileMax

If .Cells(Zeile, 4).Value = "1" Then

.Rows(Zeile).Copy Destination:=Tabelle3.Rows(n)
n = n + 1

End If
Next Zeile
End With
End Sub

Sub Klasse1Dez2017()
Dim Zeile As Long
Dim ZeileMax As Long
Dim n As Long

With Tabelle1
ZeileMax = .UsedRange.Rows.Count
n = 22

For Zeile = 2 To ZeileMax

If .Cells(Zeile, 5).Value = "1" Then

.Rows(Zeile).Copy Destination:=Tabelle3.Rows(n)
n = n + 1

End If
Next Zeile
End With
End Sub

So habe ich also ein weiteres Tabellenblatt welches mir z.b. in der Spalte 5/Tabellenblatt 1 (Nov17) alle mit einer 1 sucht und die Zeilen dann kopiert. Dann nächste Spalte also Spalte 5 und diese 20 zeilen weiter unten einfügt.

Diese sind nun z.b. als: ='Datenliste KL1'!A2 im Tabellenblatt 2 verlinkt. Es ist sehr kompliziert gelöst aber ich habe nicht herausgefunden wie ich nur die Spalten A-C kopieren kann und habe deshalb immer die ganze Zeile kopiert.

 

Weiteres Problem ist wenn im Monat November jemand die Klasse wechselt dann ist er in diesem Monat ja in 2 Klassen anwesend. Also würde ich da 1 , 2 eintragen aber dann erkennt mein Code die 1 in der Spalte nicht.

 

Habt ihr eine Idee wie man dies sauberer Umsetzen könnte?

 

Danke und Gruss tktk92


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst genau und ausführlich
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
  • Bitte markieren Sie Ihre Anfrage als erledigt wenn Ihnen geholfen wurde
Thema: Name: Email:

 
 

Thema Datum  Von Nutzer Rating
Antwort
Rot Wert suchen und Zeile ausgeben
14.11.2017 10:12:49 tktk92
NotSolved
14.11.2017 13:47:42 Gast92230
NotSolved
16.11.2017 18:00:07 xlKing
NotSolved