View Single Post
  #6   Report Post  
Posted to microsoft.public.excel.programming
Rick Rothstein Rick Rothstein is offline
external usenet poster
 
Posts: 5,934
Default help with code for scientific worksheet

The OP should definitely use your Select Case construction... there is no
argument over that. However, it is a weekend, things are a little slow on
the newsgroups and I was a little bored, so I decided to try and reduce your
macro's code down to a single line of code... just for the fun of it<g.
Here is the results of that effort...

Sub PipettorValueFillIn()
Sheets("errors").Range("B9:D11").Offset((4 * (InStr( _
"00.2 00.5 0001 0002 0010 0020 0100 0500 1000", _
Right("000" & Sheets("pipettor_calibration_worksheet"). _
Range("h5"), 4)) - 1) \ 5)).Copy Sheets("pipettor").Range("j9")
End Sub

--
Rick (MVP - Excel)


"Per Jessen" wrote in message
...
Hi Anne

Try to replace the does with exclamation signs:

If [pipettor_calibration_worksheet!h5] = 0.2 Then


Or try the macro below:

Sub PipettorValueFillIn()
'Based on the value typed into cell H5 on the sheet
Pipettor_Calibration_Worksheet,
'this module will look up and return the volume, percent and CV for
the input value.
'Volume, percent and CV are in the sheet named errors in cells b9 to
d11 if the vallue is 0.2, for example.
'The volume, percent and CV should be placed in the sheet named
Pipettor in cells J9 to L11.
Dim Dest As Range

Set DestCell = Sheets("pipettor").Range("j9")
Select Case Sheets("pipettor_calibration_worksheet").Range("h5 ")
Case Is = 0.2
Sheets("errors").Range("b9:d11").Copy DestCell
Case Is = 0.5
Sheets("errors").Range("b13:d15").Copy DestCell
Case Is = 1
Sheets("errors").Range("b17:d19").Copy DestCell
Case Is = 2
Sheets("errors").Range("b21:d23").Copy DestCell
Case Is = 10
Sheets("errors").Range("b25:d27").Copy DestCell
Case Is = 20
Sheets("errors").Range("b29:d31").Copy DestCell
Case Is = 100
Sheets("errors").Range("b33:D35").Copy DestCell
Case Is = 500
Sheets("errors").Range("b37:d39").Copy DestCell
Case Is = 1000
Sheets("errors").Range("b41:d43").Copy DestCell
End Select
End Sub


On 15 Aug., 01:28, Anne wrote:
I've written the following code, with comments, to work in a workbook for
calculating values for scientific pipettors. However, when I run the
code, I
get an error that says type mismatch. Am I missing something? Do I need
to
declare the H5 cell specifically as a double or something? Help!

Sub PipettorValueFillIn()
'Based on the value typed into cell H5 on the sheet
Pipettor_Calibration_Worksheet,
'this module will look up and return the volume, percent and CV for the
input value.
'Volume, percent and CV are in the sheet named errors in cells b9 to d11
if
the vallue is 0.2, for example.
'The volume, percent and CV should be placed in the sheet named Pipettor
in
cells J9 to L11.

If [pipettor_calibration_worksheet.h5] = 0.2 Then
[pipettor.j9:l11] = [errors.b9:d11]
End If
If [pipettor_calibration_worksheet.h5] = 0.5 Then
[pipettor.j9:l11] = [errors.b13:d15]
End If
If [pipettor_calibration_worksheet.h5] = 1 Then
[pipettor.j9:l11] = [errors.b17:d19]
End If
If [pipettor_calibration_worksheet.h5] = 2 Then
[pipettor.j9:l11] = [errors.b21:d23]
End If
If [pipettor_calibration_worksheet.h5] = 10 Then
[pipettor.j9:l11] = [errors.b25:d27]
End If
If [pipettor_calibration_worksheet.h5] = 20 Then
[pipettor.j9:l11] = [errors.b29:d31]
End If
If [pipettor_calibration_worksheet.h5] = 100 Then
[pipettor.j9:l11] = [errors.b33:d35]
End If
If [pipettor_calibration_worksheet.h5] = 500 Then
[pipettor.j9:l11] = [errors.b37:d39]
End If
If [pipettor_calibration_worksheet.h5] = 1000 Then
[pipettor.j9:l11] = [errors.b41:d43]
End If
End Sub