Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
24.04.2024 17:19:09
Anzeige
Archiv - Navigation
1848to1852
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-Script Tabellenblatt füllen

VBA-Script Tabellenblatt füllen
04.10.2021 10:19:50
ulewi
Liebe Forumsmitglieder,
gibt es eine Möglichkeit zum Lösen meines Problem?
Es gibt 2 Tabellen:
Tabelle Klassen_SP2 enthält einen Stundenplan mit den entsprechend vergebenen Räumen.
Die dort enthaltenen Raumnummern sollen in die Tabelle Raumplan eingetragen werden.
Ich hänge beide Tabellenblätter an.
https://www.herber.de/bbs/user/148423.xlsx
Meine VBA-Kenntnisse sind quasi null. :-(
Vielen Dank für die Hilfe und
VG
ulewi

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

Betreff
Datum
Anwender
Anzeige
AW: VBA-Script Tabellenblatt füllen
04.10.2021 11:01:56
Werner
Hallo,
bist du sicher, dass du da dann die Raumnummer eintragen willst und nicht das entsprechende Schulfach?
Hier mit Raumnummer:

Sub Schaltfläche1_Klicken()
Dim i As Long, raZelle As Range, raFund As Range
Application.ScreenUpdating = False
With Worksheets("Klassen_SP2")
For i = 4 To 32 Step 2
For Each raZelle In .Range(.Cells(i, "B"), .Cells(i, "V"))
If raZelle  "" Then
With Worksheets("Raumplan2")
Set raFund = .Columns("A").Find(what:=raZelle, LookIn:=xlValues, _
lookat:=xlWhole)
If Not raFund Is Nothing Then
.Cells(raFund.Row, raZelle.Column).Value = raZelle.Value
End If
End With
End If
Next raZelle
Next i
End With
Set raFund = Nothing
Wenn es das entsprechende Fach sein soll, dann diese Codezeile:

.Cells(raFund.Row, raZelle.Column).Value = raZelle.Value
Durch diese hier ersetzen:

.Cells(raFund.Row, raZelle.Column).Value = raZelle.Offset(-1).Value
Gruß Werner
Anzeige
AW: VBA-Script Tabellenblatt füllen
04.10.2021 17:04:16
GerdL
Moin ulewi,
beim Herr Lehrer ist es immer schwerer. :-)
Falls du eintragen willst, wer belegt; teste mal.

Sub Unit()
Dim i As Long, Zelle As Range, Fund As Range
Application.ScreenUpdating = False
With Worksheets("Klassen_SP2")
For i = 4 To 32 Step 2
For Each Zelle In .Range(.Cells(i, "B"), .Cells(i, "V"))
If Zelle  "" Then
With Worksheets("Raumplan2")
Set Fund = .Columns("A").Find(what:=Zelle, LookIn:=xlValues, lookat:=xlWhole)
If Not Fund Is Nothing Then
If IsEmpty(.Cells(Fund.Row, Zelle.Column)) Then
.Cells(Fund.Row, Zelle.Column).Value = Worksheets("Klassen_SP2").Cells(Zelle.Row - 1, 1).Value
Else
.Cells(Fund.Row, Zelle.Column).Value = .Cells(Fund.Row, Zelle.Column).Value & "+" & Worksheets("Klassen_SP2").Cells(Zelle.Row - 1, 1).Value
End If
End If
End With
End If
Next Zelle
Next i
End With
Set Fund = Nothing
End Sub
Gruß Gerd
Anzeige
AW: VBA-Script Tabellenblatt füllen
05.10.2021 09:39:58
ulewi
Hallo Gerd,
genau das ist es.
Vielen, vielen Dank
AW: VBA-Script Tabellenblatt füllen
04.10.2021 17:19:25
Daniel
Hi
wenn du keine VBA-Kenntnisse hast, solltest du das auch nicht mit VBA lösen bzw dir das von anderen mit VBA lösen lassen (außer, du hast vor in schnelle VBA zu lernen).
hier kann man Formeln anwenden, wenn du wissen willst, wer wann mit welchem Fach im betreffenden Raum ist.
hierzu folgende Formel in Zelle B3 von Raumplan2:

=WENNFEHLER(
INDEX(Klassen_SP2!$A:$A;VERGLEICH($A15;Klassen_SP2!F:F;0)-1)&
ZEICHEN(10)&
INDEX(Klassen_SP2!F:F;VERGLEICH($A15;Klassen_SP2!F:F;0)-1)
;"---")
vor dem Zeilenumbruch steht der Kurs, nach dem Zeilenumbruch das Fach. wenn du was davon nicht brauchst, kannst du es löschen.
Wichtig ist, dass in beiden Tabellen die Spaltenanordnung mit Tag und Stunde gleich ist.
Wenn du hier nachträglich Spalten änderts (löschst oder einfügst) solltest du die Formeln von der ersten Spalte aus neu in die Tabelle übertragen.
Gruß Daniel
Anzeige
AW: VBA-Script Tabellenblatt füllen
04.10.2021 17:28:18
Daniel
wobei noch anzumerken wäre, dass die Formeln keine Doppelbelegungen mit zwei Kursen aufdeckt, sondern in diesem Fall immer nur das erste aufzeigt.
(bspw Raum 314 Montag 1. UE, hier wird nur DSH_2A mit D angegezeigt, aber nicht DSH_2B.
das wird mit Formeln bei deiner Excelversion schwierig.
Gruß Daniel
AW: VBA-Script Tabellenblatt füllen
05.10.2021 09:43:02
ulewi
Hallo Daniel,
danke für die Antwort.
Ich bin dabei, mich in die VBA-Programmierung einzufuchsen. :-)
Die Idee mit der geschachtelten Index-Version ist toll.
Vielen Dank.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige