View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
Jacob Skaria Jacob Skaria is offline
external usenet poster
 
Posts: 8,520
Default Why variable isnt working

Try the below to differentiate checkboxes with email address

Dim Ctrl As MSForms.Control
Dim strReceipients as String
For Each Ctrl In Me.Controls
If TypeOf Ctrl Is MSForms.CheckBox Then
If Ctrl.Object.Value = True Then
If Instr(Ctrl.Caption,"@") 0 Then
strReceipients = strReceipients & ";" & Ctrl.Caption
End If
End If
End If
Next
MsgBox Mid(strReceipients, 2)


If this post helps click Yes
---------------
Jacob Skaria


"thomas donino" wrote:

The code below is supposed to check a set of check boxes on a form, if they
are checked, add the strings to the variable (they are email addresses). this
works

The next section checks a radio button and is supposed to do the if then
else but that returns the strings from the check boxes too. I really want
that radio button to be a check box too. How do i differentiate that one from
the others that contain the email addressees?

Sub SendEmailBtn_Click()

Dim CBCtrl As MSForms.Control
Dim RBCtrl As MSForms.Control
Dim strReceipients As String
Dim MsgBody As String

'check to see what checkboxes are checked and add that email to the string
in recipients
For Each CBCtrl In RndmemailFrm.Controls
If TypeOf CBCtrl Is MSForms.CheckBox Then
If CBCtrl.Object.Value = True Then
strReceipients = strReceipients & ";" & CBCtrl.Caption
End If
End If
Next

' get the randomly generated subject line from column 2
SubLine = Cells(Rnd * (Cells(Rows.Count, 2).End(xlUp).Row - 1) + 2, 2)

' if the Use Automated message is checked, then randomly select a message
from column 3
' or else use the message in the message text box
For Each RBCtrl In RndmemailFrm.Controls
If TypeOf RBCtrl Is MSForms.OptionButton Then
If RBCtrl.Object.Value = True Then
MsgBody = Cells(Rnd * (Cells(Rows.Count, 3).End(xlUp).Row - 1) + 2, 3)
Else
MsgBody = RndmemailFrm.MsgBdyTB.Text
End If
End If

Next
MsgBox MsgBody
End Sub