Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1
Default Trouble with lots of IF THEN statements???


Hi all below is some code for finding a worksheet then a particular
range then check whether cells are empty or mot based on the values in
comboboxes on a userform, the text coloured in blue i have just added
(in order to check offsets according to which name appeared in
ComboBox2) prior to that the lines i have stetted out worked perfect
for finding the correct line and checking the offset's for values, now
the code runs through without recognising the persons name so not
checking the offsets.......Anyone know how to fix this?, i'm sure its
the way i have used the IF THEN statements!

Regards,
Simon

Public Sub FindSlot()
Dim strFirst As Integer
Dim rng As Range
Dim w, vf, t, s As Variant
Dim r As Range
Dim mycell
Application.EnableEvents = False
w = UserForm2.ComboBox3.Value
vf = UserForm2.ListBox1.Value
s = UserForm2.ComboBox2.Value
Worksheets(w).Visible = True
Worksheets(w).Select
t = UserForm2.ComboBox1.Value
If t = "Tuesday" Then
Set r = Worksheets(w).Range("A4:A46")
ElseIf t = "Wednesday" Then
Set r = Worksheets(w).Range("A49:A94")
ElseIf t = "Thursday" Then
Set r = Worksheets(w).Range("A97:A142")
ElseIf t = "Friday" Then
Set r = Worksheets(w).Range("A145:A190")
ElseIf t = "Saturday" Then
Set r = Worksheets(w).Range("A193:A238")
End If
'On Error GoTo cls
Application.EnableEvents = False

For Each mycell In r
If mycell.Text = UserForm2.ListBox1.Text Then
mycell.Select
'UserForm2.Hide

If s = "Lauren" Then
If mycell.Offset(0, 1) < "" And mycell.Offset(0, 3) < "" Then
MsgBox "Please Choose New Time, Day or Week... " & mycell.Value & " Is
Taken!", _
vbOKOnly, "Time Slot Taken"
ElseIf s = "Emma" Then
If mycell.Offset(0, 5) < "" And mycell.Offset(0, 7) < "" Then
MsgBox "Please Choose New Time, Day or Week... " & mycell.Value & " Is
Taken!", _
vbOKOnly, "Time Slot Taken"
ElseIf s = "Cheryl" Then
If mycell.Offset(0, 9) < "" And mycell.Offset(0, 11) < "" Then
MsgBox "Please Choose New Time, Day or Week... " & mycell.Value & " Is
Taken!", _
vbOKOnly, "Time Slot Taken"
'If mycell.Offset(0, 1) < "" And mycell.Offset(0, 3) < "" And
mycell.Offset(0, 5) < "" And mycell.Offset(0, 7) < "" And
mycell.Offset(0, 9) < "" And mycell.Offset(0, 11) < "" Then

'MsgBox "Please Choose New Time, Day or Week... " & mycell.Value & " Is
Taken!", _
'vbOKOnly, "Time Slot Taken"
UserForm2.Show
Exit Sub
ElseIf mycell.Offset(0, 1) = "" Or mycell.Offset(0, 3) = "" Or
mycell.Offset(0, 5) = "" Or mycell.Offset(0, 7) = "" Or
mycell.Offset(0, 9) = "" Or mycell.Offset(0, 11) = "" Then
If MsgBox("Chosen Time Has An Empty Slot" & Chr(13) & "Click Yes to
Make Booking or Click No To Exit", vbYesNo, "Make A Booking?") = vbYes
Then
Unload UserForm2
UserForm1.Show

End If
End If
End If
End If
End If
End If

Next

Worksheets("Week Selection").Visible = True
Worksheets(w).Visible = False
cls:
Application.EnableEvents = True
Unload UserForm2
End Sub


--
Simon Lloyd
------------------------------------------------------------------------
Simon Lloyd's Profile: http://www.excelforum.com/member.php...fo&userid=6708
View this thread: http://www.excelforum.com/showthread...hreadid=557623

  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1
Default Trouble with lots of IF THEN statements???


Hello Simon,

If I interpreted your code correctly, this revised version should work
for you. I made some changes to make it easier to read.


Code:
--------------------

Public Sub FindSlot()

Dim strFirst As Integer
Dim rng As Range
Dim w, vf, t, s As Variant
Dim r As Range
Dim mycell

Application.EnableEvents = False
w = UserForm2.ComboBox3.Value
vf = UserForm2.ListBox1.Value
s = UserForm2.ComboBox2.Value
Worksheets(w).Visible = True
Worksheets(w).Select
t = UserForm2.ComboBox1.Value

With Worksheets(w)
Select Case t
Case Is = "Tuesday"
Set r = .Range("A4:A46")
Case Is = "Wednesday"
Set r = .Range("A49:A94")
Case Is = "Thursday"
Set r = .Range("A97:A142")
Case Is = "Friday"
Set r = .Range("A145:A190")
Case Is = "Saturday"
Set r = .Range("A193:A238")
End Select
End With

'On Error GoTo cls
Application.EnableEvents = False

For Each mycell In r
If mycell.Text = UserForm2.ListBox1.Text Then
'mycell.Select
'UserForm2.Hide

Select Case s
Case Is = "Lauren"
C = 1: GoSub TestSlot
Case Is = "Emma"
C = 5: GoSub TestSlot
Case Is = "Cheryl"
C = 9: GoSub TestSlot
End Select

If mycell.Offset(0, 1) < "" And mycell.Offset(0, 3) < "" And mycell.Offset(0, 5) < "" And mycell.Offset(0, 7) < "" And mycell.Offset(0, 9) < "" And mycell.Offset(0, 11) < "" Then
MsgBox "Please Choose New Time, Day or Week... " & mycell.Value & " Is Taken!", _
vbOKOnly, "Time Slot Taken"
UserForm2.Show
Exit Sub
End If

If mycell.Offset(0, 1) = "" Or mycell.Offset(0, 3) = "" Or mycell.Offset(0, 5) = "" Or mycell.Offset(0, 7) = "" Or mycell.Offset(0, 9) = "" Or mycell.Offset(0, 11) = "" Then
Answer = MsgBox("Chosen Time Has An Empty Slot" & Chr(13) & "Click Yes to Make Booking or Click No To Exit", vbYesNo, "Make A Booking?")
If Answer = vbYes Then
Unload UserForm2
UserForm1.Show
End If
End If

End If
Next mycell

Worksheets("Week Selection").Visible = True
Worksheets(w).Visible = False

cls:
Application.EnableEvents = True
Unload UserForm2

Exit Sub

TestSlot:
If mycell.Offset(0, C) < "" And mycell.Offset(0, C + 2) < "" Then
Msg = "Please Choose New Time, Day or Week... " & mycell.Value & " Is Taken!"
MsgBox Msg, vbOKOnly, "Time Slot Taken"
End If
Return

End Sub

--------------------


Sincerely,
Leith Ross


--
Leith Ross
------------------------------------------------------------------------
Leith Ross's Profile: http://www.excelforum.com/member.php...o&userid=18465
View this thread: http://www.excelforum.com/showthread...hreadid=557623

  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1
Default Trouble with lots of IF THEN statements???


Leith.........Thanks!, i made a few minor changes but it worked well an
of course was a whole lot prettier than my efforts!. Now i can move o
to Userform1 and start working the code out for where and how th
values of the boxes will be placed.

Regards,
Simo

--
Simon Lloy
-----------------------------------------------------------------------
Simon Lloyd's Profile: http://www.excelforum.com/member.php...nfo&userid=670
View this thread: http://www.excelforum.com/showthread.php?threadid=55762

Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
3 lots of information to be put on a chart EmJay80 Charts and Charting in Excel 2 October 2nd 09 08:46 AM
MS Query uses lots of CPU Bamajohn Excel Discussion (Misc queries) 0 January 19th 06 11:46 PM
lots of data lwm11 Excel Discussion (Misc queries) 2 May 13th 05 07:31 PM
change lots of formulae all at once - how? simon Excel Programming 3 March 16th 05 07:04 PM
Lots of Frustration - Lots of Arrays, Dynamic Ranges Don't Work, Help With Options Karl Burrows Excel Programming 4 April 17th 04 12:48 PM


All times are GMT +1. The time now is 02:13 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright ©2004-2025 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"