Code Problem !

M

Mike R

Hi Guys, Can anybody help me with the following piece of
code !?. It works to a point, but I keep getting the error
message "Type Mismatch, run error 13" after execution.
Also if I change any cell on the worksheet the macro
executes!, even though i have specified the target cell.
Basically the macro should on run based on a value a user
enters in "J13".

Any help very much appreciated

Mike R

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Application.ScreenUpdating = False
With Application
.Calculation = xlManual
.MaxChange = 0.001
End With
ActiveWorkbook.PrecisionAsDisplayed = False
If Target.Value >= "$j$13" Then
Range("c13").ClearContents
Range("j13").Select
Application.CutCopyMode = False
Selection.Copy
Range("c13").Select
Selection.PasteSpecial Paste:=xlValues,
Operation:=xlNone, SkipBlanks:= _

Application.EnableEvents = True
Application.ScreenUpdating = False
With Application
.Calculation = xlAutomatic
.MaxChange = 0.001
End With
ActiveWorkbook.PrecisionAsDisplayed = False
End If
End Sub
 
J

John Ford

Doesn't the Type Mismatch error give a line
number? That would help narrow it down.

Is the Selection.PasteSpecial line correct? Looks
like it's missing something after the
continuation.

-jcf

|
| Hi Guys, Can anybody help me with the following
piece of
| code !?. It works to a point, but I keep getting
the error
| message "Type Mismatch, run error 13" after
execution.
| Also if I change any cell on the worksheet the
macro
| executes!, even though i have specified the
target cell.
| Basically the macro should on run based on a
value a user
| enters in "J13".
|
| Any help very much appreciated
|
| Mike R
|
| Private Sub Worksheet_Change(ByVal Target As
Excel.Range)
| Application.ScreenUpdating = False
| With Application
| .Calculation = xlManual
| .MaxChange = 0.001
| End With
| ActiveWorkbook.PrecisionAsDisplayed = False
| If Target.Value >= "$j$13" Then
| Range("c13").ClearContents
| Range("j13").Select
| Application.CutCopyMode = False
| Selection.Copy
| Range("c13").Select
| Selection.PasteSpecial Paste:=xlValues,
| Operation:=xlNone, SkipBlanks:= _
|
| Application.EnableEvents = True
| Application.ScreenUpdating = False
| With Application
| .Calculation = xlAutomatic
| .MaxChange = 0.001
| End With
| ActiveWorkbook.PrecisionAsDisplayed =
False
| End If
| End Sub
 
K

Keith Willshaw

Mike R said:
Hi Guys, Can anybody help me with the following piece of
code !?. It works to a point, but I keep getting the error
message "Type Mismatch, run error 13" after execution.
Also if I change any cell on the worksheet the macro
executes!, even though i have specified the target cell.
Basically the macro should on run based on a value a user
enters in "J13".

Any help very much appreciated

Mike R

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Application.ScreenUpdating = False
With Application
.Calculation = xlManual
.MaxChange = 0.001
End With
ActiveWorkbook.PrecisionAsDisplayed = False
If Target.Value >= "$j$13" Then

This makes no sense. What are you trying to achieve here ?

Keith
 
D

Don Guillett

If all you want to do is copy the j13 values to c13 then this will do it.

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
if target.address <> "$J$13" then exit sub
[c13].value=target
end sub
 
M

Mike R

Thanks Don, that's what I was looking for., makes
everthing alot easier
-----Original Message-----
If all you want to do is copy the j13 values to c13 then this will do it.

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
if target.address <> "$J$13" then exit sub
[c13].value=target
end sub
--
Don Guillett
SalesAid Software
Granite Shoals, TX
(e-mail address removed)
Mike R said:
Hi Guys, Can anybody help me with the following piece of
code !?. It works to a point, but I keep getting the error
message "Type Mismatch, run error 13" after execution.
Also if I change any cell on the worksheet the macro
executes!, even though i have specified the target cell.
Basically the macro should on run based on a value a user
enters in "J13".

Any help very much appreciated

Mike R

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Application.ScreenUpdating = False
With Application
.Calculation = xlManual
.MaxChange = 0.001
End With
ActiveWorkbook.PrecisionAsDisplayed = False
If Target.Value >= "$j$13" Then
Range("c13").ClearContents
Range("j13").Select
Application.CutCopyMode = False
Selection.Copy
Range("c13").Select
Selection.PasteSpecial Paste:=xlValues,
Operation:=xlNone, SkipBlanks:= _

Application.EnableEvents = True
Application.ScreenUpdating = False
With Application
.Calculation = xlAutomatic
.MaxChange = 0.001
End With
ActiveWorkbook.PrecisionAsDisplayed = False
End If
End Sub


.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top