View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
Dave Peterson Dave Peterson is offline
external usenet poster
 
Posts: 35,218
Default Run time error 91

rng.column returns a number.
so
Range(rng.Column & "2").Value = Age
would look like:
Range(122).Value = Age

Try:
cells(2,rng.Column).Value = Age

Cells() will accept a string column or a number column.

=====
ps. It's always good to qualify your ranges.

Set rng = SH.Rows("1:1").Find(What:=FirstStr, After:=Range("B1"),
may fail if SH isn't the active sheet.

Set rng = SH.Rows("1:1").Find(What:=FirstStr, After:=Sh.Range("B1"),
will be ok.


Nick Smith wrote:

Having some trouble with the following. Problem occurs in the Sub
InsertAnswers() routine at the <<< Range(rng.Column & "2").Value = Age
line. Can anyone help please before I throw my PC out of the window...... I
also have practically no idea what I am doing so you will have to really dumb
down your answer for me to get it....... Thanks very much in advance!

Public Sub FindFirstEmptyFirst200Column()
Dim SH As Worksheet
Dim rng As Range
Const FirstStr As String = ""
Set SH = ThisWorkbook.Sheets("First 200")

Set rng = SH.Rows("1:1").Find(What:=FirstStr, After:=Range("B1"),
LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows,
SearchDirection:=xlNext, _
MatchCase:=False)
rng.Select

End Sub
-------------------------------------------------------
Public Sub AgeQuestion()
Dim i As Integer
Dim Age As Integer

Age = InputBox("Enter Age:", "Age")
For i = 1 To 10
If Age < 17 Or Age 100 Then
Age = InputBox("Age appears to be incorrect. Please re-enter age
now:", "Age")
End If
Next i

End Sub
-------------------------------------------------------
Public Sub InsertAnswers()
Dim rng As Range
Dim Age As Integer

Call FindFirstEmptyFirst200Column
Call AgeQuestion
If Age < 25 Then
Range(rng.Column & "2").Value = Age
End If

End Sub


--

Dave Peterson