View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
Barb Reinhardt Barb Reinhardt is offline
external usenet poster
 
Posts: 3,355
Default error 91 and inputbox string

Try this

Option Explicit

Sub Test()
Dim strCtr As String
Dim myCell As Excel.Range
Dim LastR As Long
Dim rngNd As Excel.Range
Dim wksTo As Excel.Worksheet 'Added this.
Dim strPO
LastR = wksTo.Cells(Rows.Count, "C").End(xlDown).Row
'You have rngNd defined as a range. As a result, you need to use "Set rngND
= "

Set rngNd = wksTo.Range("C1:C" & LastR)

strCtr = Application.InputBox(prompt:= _
"Inserisci Nome Contratto")

'Reserve Cell for other functionality

For Each myCell In rngNd
If myCell.Value = "*" & strPO And myCell.Offset(0, -2).Value = 0 Then
myCell.Offset(0, -2).Value = strCtr
End If
Next myCell
End Sub

'Untested


"goodfish" wrote:

The following macro needs tweaking and I am not able in any way...could
someone please have a look at it and help me!
1) When I run the macro the following error appears:
runtime error 91... Object variable or With block variable not set.
If I substitute rngNd with "C1:C20" no error message comes up.
obviously I would like to use rngNd.

2) I have tried entering "*" & strPO (which works for finding text earlier
on in the macro) but when applied as shown below it does not work.

Dim strCtr As String
Dim Cell As Range
Dim LastR As Long
Dim rngNd As Range

LastR = Cells(Rows.Count, "C").End(xlDown).Row
rngNd = Range("C1:C" & LastR)

strCtr = Application.InputBox(prompt:= _
"Inserisci Nome Contratto")

For Each Cell In wksTo.Range(rngNd)
If Cell.Value = "*" & strPO And Cell.Offset(0, -2).Value = 0 Then
Cell.Offset(0, -2).Value = strCtr
End If
Next Cell
End Sub

Thanks in advance.