Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Permanentschleife

Forumthread: Permanentschleife

Permanentschleife
16.05.2006 10:16:01
Dr.
Hi Leuts,
könnt ihr bitte mal 'nen Blick in meinen Anhang werfen und mir bei meinem VBA-Problemchen weiterhelfen?
(Coding samt Kommentar in "Diese Arbeitsmappe")
https://www.herber.de/bbs/user/33663.xls
Thxs, E.
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Permanentschleife
16.05.2006 10:23:24
u_
Hallo,
dafür kannst du das Ereignis Workbook_sheetchange nutzen.
Gruß
Geist ist geil!
(Dies ist ein allgemeines Statement und nicht an bestimmte Personen gerichtet.)
AW: Permanentschleife
16.05.2006 10:51:02
MakoiMichi
Im Anhang eine Beispieldatei mit zwei Lösungsvorschlägen:
Plan 1 mit Worksheets_Change Ereignis
Diese Lösung ist eher unelegant und erfordert noch zusätzlichen Programmieraufwand, um Fehleingaben abzufangen.
Plan 2 mit sverweis
Erfodert zwar für jeden Zivi eine zusätzliche Spalte für die Angaben A...n, aber dafür ist die Lösung eleganter und weniger fehleranfällig.
Gruss
Michael
https://www.herber.de/bbs/user/33667.xls
P.S.: Darf ich immer Schicht E machen ;)
Anzeige
AW: Permanentschleife
16.05.2006 11:14:33
Dr.
hi Michi,
zu deiner Lösung bin ich vor anderthalb wochen auch schon gekommen.
das problem: es darf keine zusätzliche spalte geben weil es ein "genormtes" Formular ist, dass nich unformatiert werden darf.
die lösung muss so aussehen, dass der benutzer zB bei spalte "von" in zelle D8 steht, dort a eingibt und Excel statt a nun 06:00 in D8 und 16:00 in E8 einträgt.
ich hoffe, du weißt wie ich das meine.
lg, E.
Anzeige
AW: Permanentschleife
16.05.2006 11:39:38
u_
Hallo,
in DieseArbeitsmappe:

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim wksDZ As Worksheet
Select Case Left(Sh.Name, 4)
Case "Plan"
If Sh.Cells(7, Target.Column) = "von" Then
Set wksDZ = Sheets("dienstzeitdefinitionen")
On Error GoTo errHDL
Application.EnableEvents = False
Select Case UCase(Target)
Case "A"
Target = wksDZ.Cells(1, 2)
Target.Offset(0, 1) = wksDZ.Cells(1, 3)
Case "B"
Target = wksDZ.Cells(2, 2)
Target.Offset(0, 1) = wksDZ.Cells(2, 3)
Case "C"
Target = wksDZ.Cells(3, 2)
Target.Offset(0, 1) = wksDZ.Cells(3, 3)
End Select
End If
End Select
errHDL:
Application.EnableEvents = True
End Sub

Gruß
Geist ist geil!
(Dies ist ein allgemeines Statement und nicht an bestimmte Personen gerichtet.)
Anzeige
AW: Permanentschleife
16.05.2006 12:04:38
Dr.
WOW! DANKE u_!
Das funkt perfekt!
Bin happy u hab wieder was dazugelernt! Und die Benutzer werden sich auch freuen.
lg, E.
ps: mit Case habe ich auch herumexperimentiert. Der Instinkt war der richtige, die syntax leider nicht.
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige