View Single Post
  #2   Report Post  
Old January 5th 18, 01:00 AM posted to microsoft.public.excel.worksheet.functions
GS[_6_] GS[_6_] is offline
external usenet poster
First recorded activity by ExcelBanter: Apr 2015
Posts: 1,001
Default Excel Macro: Type mismatch (Error 13)

I am using Microsoft Excel 2010.

Several years ago, Claus Busch wrote the following macro for me:

Sub roundSelection()
Dim pctChange As Double
Dim Cell As Range
pctChange = Range("pctChange")
For Each Cell In Selection
Cell = WorksheetFunction.Round(Cell * (1 + pctChange), 2)
Next Cell
End Sub

When I try to run it now, I get "Run-time error '13': Type mismatch".
The problem seems to be this line of code:

Cell = WorksheetFunction.Round(Cell * (1 + pctChange), 2)

...but I don't know how to fix it as I am no expert with macros!

The macro should work like this: If one of the worksheet tabs has a
box named "pctChange" and a % value underneath that box, it should
apply the % value to all the worksheet boxes in that tab that are
formatted as currency (i.e. $ - U.S. Dollars in my case).

I should be able to specify a different "pctChange" value for each
worksheet tab and then run the macro.

Can anybody please help? I'm willing to post the spreadsheet
somewhere, if that helps.


Are any of the selected cells non-numeric?


Free usenet access at
Classic VB Users Regroup!