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

Verschachtelte For-Schleifen in 2 Blättern

Verschachtelte For-Schleifen in 2 Blättern
07.02.2016 20:58:02
Tobias

Hallo liebe VBA-Profis.
Ich habe eine Tabelle erstellt, in dem ein Bereich über ein paar Spalten
und Zeilen eingegeben werden (Uhrzeiten).
Diese sollen mit einer Liste in einem 2. Tabellenblatt verglichen werden.
Bei Erfolg, sollen Inhalte aus bestimmten Zellen dieser Zeile in die
zugehörige Zeile des 2. Tabellenblattes eingefügt werden.
Der Code, den ich dazu angefangen habe, lautet:

Sub testforeach2()
For Each i In Worksheets("Medikamente").Range("UhrzeitMedis")
For Each k In Worksheets("Tagesablauf").Range("UhrzeitTagesablauf")
ab = k.Row
If k = i Then
ai = i.Row
Worksheets("Tagesablauf").Cells(ab, 2).Value = Worksheets("Tagesablauf").Cells(ab, 2) &  _
vbNewLine & Worksheets("Medikamente").Cells(ai, 42) & " " & Worksheets("Medikamente").Cells(ai, 46) & " " & Worksheets("Medikamente").Cells(ai, 45)
End If
Next k
Next i
End Sub

Leider ist das etwas undurchsichtig, daher habe ich die Beispieltabelle hochgeladen:
https://www.herber.de/bbs/user/103352.xlsm
Vielen Dank für eure Unterstützung,
Tobias

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Verschachtelte For-Schleifen in 2 Blättern
07.02.2016 23:49:49
Piet
hallo
mich wundert ein bisschen das sich bis jetzt keiner für den Thread interessiert hat.
Ich bin kein Profi, habe aber über 2 Stunden versucht das Mini Programm zu knacken !!
Offene Frage: (bitte ehrlich sein)
hat das Programm überhaupt richtig funktioniert??? Bei mir laeuft es nicht einwandfrei!!
In Tabelle "Tagesablauf" stimmt ab Zeile 44 bis 54 die Formatierung nicht. Ist das bekannt??
Klickt man die Zelle direkt an erscheint -zusaetzlich- noch das Jahresdatum "01.01.1900"
Nach der neuen Formatierung erkannte das Programm die Zeit 01:30, aber keine andere Zeit
Ausserdem durchlaeuft das Original Programm völlig unnötig die Leerzeilen wo keine Zeit steht.
Anbei ein von mir entwickeltes neues Programm über Suchfunktion.
zum Testen aber bitte zuerst in einer kopierten Datei ausprobieren.
Würde mich freuen wenn es zuverlaessig laeuft.
mfg Piet
Option Explicit '8.2.2016 Piet für Herber Forum
'neues Modul für Patienten Daten über Such Funktion
'Hinweis: Datum Format ab Zeile 44 bis 54 "1900"
Dim Med As Object, Tag As Object
Dim rFind As Object, ai, ab, i, k
Sub testforeach2()
Set Med = Worksheets("Medikamente")
Set Tag = Worksheets("Tagesablauf")
For Each i In Worksheets("Medikamente").Range("UhrzeitMedis")
If i.Value = Empty Then GoTo weiter
'Suchlauf nach echten Zeiten  (keine Leerzeilen)
Set rFind = Worksheets("Tagesablauf").Range("UhrzeitTagesablauf") _
.Find(What:=CDate(i), LookIn:=xlFormulas, LookAt:=xlWhole)
'Fehlermeldung wenn Datum nicht gefunden wird  (nicht möglich !!)
If rFind Is Nothing Then MsgBox CDate(i) & "  No Find"
If Not rFind Is Nothing Then
'Row Zahl in i und k
ai = i.Row:  ab = rFind.Row
'Werte in Tagesablauf übertragen
Tag.Cells(ab, 2).Value = Tag.Cells(ab, 2).Value & vbNewLine & _
Med.Cells(ai, 42) & " " & Med.Cells(ai, 46) & " " & Med.Cells(ai, 45)
End If
weiter:
Next i
End Sub

Anzeige
AW: Verschachtelte For-Schleifen in 2 Blättern
09.02.2016 18:19:22
Tobias
Hallo Piet.
Mittlerweile habe ich dein Script testen können,
und bin begeistert. Funktioniert genau, wie ich
es mir vorgestellt hatte.
Die Formatierung der Uhrzeiten nach 24 Uhr kommt
automatisch durch die AutoFill-Funktion in Excel.
Vielen Dank für die rasche und Kompetente Antwort!
mfg Tobias

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige