LinkBack Thread Tools Search this Thread Display Modes
Prev Previous Post   Next Post Next
  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 27
Default Type Mismatch error

Barb, thanks for the code. With it I figured out it wasn't really a Type
Mismatch, my data was wrong, so the error test is what lead me to my problem
and it makes the program much better.

Thanks again,
--
JohnM


"Barb Reinhardt" wrote:

Try this (untested)

Option Explicit
Sub FindPlayUpPlayerReplaceAgeGroup()

MsgBox "Change age group on players listed on PlayUpList", vbOKCancel

Dim wrksA As Worksheet
Dim valueToFind As Range
Dim rowNum As Long
Dim wrksB As Worksheet
Dim rowFound As Integer
Dim playUpValue As Range

Set wrksA = Worksheets("PlayUpList")
Set wrksB = Worksheets("PlDetails")
rowNum = 2
For rowNum = 2 To wrksA.Cells(Rows.Count, "B").End(xlUp).Row
If Trim(wrksA.Range("b" & rowNum)) < "" And _
Trim(wrksA.Range("v" & rowNum)) < "" Then

Set valueToFind = wrksA.Range("B" & rowNum)

' MsgBox valueToFind
Set playUpValue = wrksA.Range("A" & rowNum)

' MsgBox playUpValue
rowFound = 0
On Error Resume Next
rowFound = Application.Match( _
valueToFind.Text, _
wrksB.Columns("A:A"), _
0) ' <= displays error
On Error GoTo 0
If rowFound = 0 Then
MsgBox ("Didn't find row")
Else
wrksB.Range("u" & rowFound) = playUpValue
End If
End If
Next

MsgBox "All players playing up have been modified."

End Sub


"JohnM" wrote:

Again, I have to say thanks in advance!

In this code, which is below: rowFound = Application.Match(valueToFind,
wrksB.Columns("A:A"), 0)

I get a Type Mismatch error. It worked at one time, then stopped. I am sure
it just needs some adjustment to the code, I am a beginner at this.

Sub FindPlayUpPlayerReplaceAgeGroup()

MsgBox "Change age group on players listed on PlayUpList", vbOKCancel

Dim wrksA As Worksheet
Dim valueToFind As Range
Dim rowNum As Long
Dim wrksB As Worksheet
Dim rowFound As Integer
Dim playUpValue As Range

Set wrksA = Worksheets("PlayUpList")
Set wrksB = Worksheets("PlDetails")
wrksA.Select
rowNum = 2
For rowNum = 2 To wrksA.Cells(Rows.Count, "B").End(xlUp).Row
If Trim(wrksA.Range("b" & rowNum)) < "" And Trim(wrksA.Range("v" &
rowNum)) < "" Then
Range("B" & rowNum).Select
Set valueToFind = Selection
' MsgBox valueToFind
Range("a" & rowNum).Select
Set playUpValue = Selection
' MsgBox playUpValue
rowFound = Application.Match(valueToFind, wrksB.Columns("A:A"),
0) ' <= displays error
' MsgBox rowFound
wrksB.Range("u" & rowFound) = playUpValue
' Range("v" & rowFound) = playUpValue
End If
Next

MsgBox "All players playing up have been modified."

End Sub

--
JohnM

 
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
Visual Basic Error Run Time Error, Type Mismatch Meg Partridge Excel Discussion (Misc queries) 12 September 10th 08 06:10 PM
runtime error 13 - type mismatch error in Excel 97 on Citrix Kevin Maher Excel Programming 7 March 8th 08 11:48 AM
Conditional Formatting - Run Time Error '13' Type Mismatch Error ksp Excel Programming 0 July 11th 06 07:06 AM
Help: Compile error: type mismatch: array or user defined type expected lvcha.gouqizi Excel Programming 1 October 31st 05 08:20 PM
Befuddled with For Next Loop ------ Run - Time Error '13' Type Mismatch Error rdavis7408 Excel Programming 1 August 25th 04 03:54 AM


All times are GMT +1. The time now is 02:39 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"