View Single Post
  #6   Report Post  
Posted to microsoft.public.excel.programming
Francois via OfficeKB.com Francois via OfficeKB.com is offline
external usenet poster
 
Posts: 109
Default Need help with Error 'object variable or with block variable not set'

Bob Phillips wrote:
Private Sub Macro999()
'

Dim TopPos As Integer
Dim PrintDlg As DialogSheet
Dim CurrentSheet As Worksheet
Dim CheckBox1 As CheckBox
Dim CheckBox2 As CheckBox
Dim CheckBox3 As CheckBox
Dim CheckBox4 As CheckBox

Dim sendto1 As Object 'IS THIS RIGHT ?????
Dim sendto2 As Object
Dim sendto3 As Object
Dim sendto4 As Object

Application.ScreenUpdating = False

' Add a temporary dialog sheet
Set PrintDlg = ActiveWorkbook.DialogSheets.Add

' Add the checkboxes
TopPos = 40

Set CheckBox1 = PrintDlg.CheckBoxes.Add(78, TopPos, 150, 16.5)
CheckBox1.Text = Sheets("EMAILS").Range("C2")
TopPos = TopPos + 13

Set CheckBox2 = PrintDlg.CheckBoxes.Add(78, TopPos, 150, 16.5)
CheckBox2.Text = Sheets("EMAILS").Range("C3")
TopPos = TopPos + 13

Set CheckBox3 = PrintDlg.CheckBoxes.Add(78, TopPos, 150, 16.5)
CheckBox3.Text = Sheets("EMAILS").Range("C4")
TopPos = TopPos + 13

Set CheckBox4 = PrintDlg.CheckBoxes.Add(78, TopPos, 150, 16.5)
CheckBox4.Text = Sheets("EMAILS").Range("C5")
TopPos = TopPos + 13

' Move the OK and Cancel buttons
PrintDlg.Buttons.Left = 240

' Set dialog height, width, and caption
With PrintDlg.DialogFrame
.Height = Application.Max(68, PrintDlg.DialogFrame.Top + TopPos -
34)
.Width = 230
.Caption = "Select Persons to send the E Mail to"
End With

' Change tab order of OK and Cancel buttons
' so the 1st option button will have the focus
PrintDlg.Buttons("Button 2").BringToFront
PrintDlg.Buttons("Button 3").BringToFront

Application.ScreenUpdating = True
If PrintDlg.Show Then
'If CheckBox1 is TRUE then Set variable 'sendto1' to value of Sheet
'EMAILS' Cell 'C2'
If CheckBox1.Value = True Then Set sendto1 =
Sheets("EMAILS").Range("C2").Value

'If CheckBox2 is TRUE then Set variable 'sendto2' to value of Sheet
'EMAILS' Cell 'C3'
If CheckBox2.Value = True Then Set sendto2 =
Sheets("EMAILS").Range("C3").Value

'ETC
If CheckBox3.Value = True Then Set sendto3 =
Sheets("EMAILS").Range("C4").Value

'ETC
If CheckBox4.Value = True Then Set sendto4 =
Sheets("EMAILS").Range("C5").Value
End If

' Do the E Mail code here (Which I have already Thanks to Ron de Bruin)
'

' Delete temporary dialog sheet (without a warning)
Application.DisplayAlerts = False
PrintDlg.Delete
'
End Sub

Hi Folks,

[quoted text clipped - 116 lines]
'
End Sub



Thanks Bob, I thought you'd be not far away.

--
Message posted via http://www.officekb.com