Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 258
Default Type Mismatch

Can anyone tell me why the line rng(1, 4) = "X" below returns a Type Mismatch error? This should place an X in the 4column over from the

Private Sub CommandButton1_Click()

Application.ScreenUpdating = False

Dim SH As Worksheet
Dim rng
Dim arr As Variant
Const baseCell As String = "A200"

arr = Array("June - August", "September - November", "December - February", _
"March - May")

'This code is to run only on the sheet that was active when the macro was called

Range("A200").Select

If CheckBox1.Value = True Then
rng(1, 4) = "X"
End If

'This code is to run on all sheets

For Each SH In Sheets(arr)

Set rng = SH.Range(baseCell)

rng(1, 1).Value = TextBox1.Text
rng(1, 2).Value = TextBox2.Text
rng(1, 4).Value = TextBox3.Text

If OptionButton1.Value = True Then
rng(1, 3) = "Member"

ElseIf OptionButton2.Value = True Then
rng(1, 3) = "Officer"

ElseIf OptionButton3.Value = True Then
rng(1, 3) = "PMP"

ElseIf OptionButton4.Value = True Then
rng(1, 3) = "Officer/PMP"

ElseIf OptionButton5.Value = True Then
rng(1, 3) = "Guest"

ElseIf OptionButton6.Value = True Then
rng(1, 3) = "Guest Officer"

ElseIf OptionButton7.Value = True Then
rng(1, 3) = "Guest PMP"

End If

Next SH

Module2.Sort_June_August
Module2.Sort_September_November
Module2.Sort_December_February
Module2.Sort_March_May

Unload Add_New_Name

Application.ScreenUpdating = True

End Sub
  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1
Default Type Mismatch


Hello Patrick,

Since your explaination was cut off, I assume you wanted Rng to refe
to the 4th cell to the right of "A200". Without the SET statemen
preceding the variable, Excel interprets the Rng(1, 4) as an array. Th
type mismatch occurs because Excel thinks you are assigning the strin
"X" to an array that has not been delcared.

There are a couple of fixes...

1) Remove the statement Range("A200").Select and use the following I
statement.

If CheckBox1.Value = True Then
Range("A200").Offset.(0, 4) = "X"
End If

2) Use a SET statement instead of Range("A200").Select.

Set Rng = Range("A200")

Sincerely,
Leith Ros

--
Leith Ros
-----------------------------------------------------------------------
Leith Ross's Profile: http://www.excelforum.com/member.php...fo&userid=1846
View this thread: http://www.excelforum.com/showthread.php?threadid=54632

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
Type Mismatch Mike Excel Programming 6 January 22nd 06 04:53 AM
Type mismatch using rnge as Range with Type 8 Input Box STEVE BELL Excel Programming 11 December 3rd 05 05:02 AM
Help: Compile error: type mismatch: array or user defined type expected lvcha.gouqizi Excel Programming 1 October 31st 05 08:20 PM
13 type mismatch help Mike K Excel Programming 2 June 23rd 05 02:51 AM
Type mismatch Steve Garman Excel Programming 0 February 5th 04 07:39 AM


All times are GMT +1. The time now is 02:29 PM.

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"