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.
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
LastR = .Cells(Rows.Count, "C").End(xlDown).Row
will always evaluate to 65536 - or whatever the last row is in your version
of Excel. So rngNd will always be the entire column C. I think you mean
to use xlUp.
LastR = wksTo.Cells(Rows.Count, "C").End(xlUp).Row
hth,
Doug
"goodfish" <good...@discussions.microsoft.com> wrote in message
news:0B03FA31-CE7C-4F11...@microsoft.com...
> __________ Information from ESET NOD32 Antivirus, version of virus
> signature database 4380 (20090829) __________
>
> The message was checked by ESET NOD32 Antivirus.
>
> http://www.eset.com
>
>
>
__________ Information from ESET NOD32 Antivirus, version of virus signature database 4380 (20090829) __________
The message was checked by ESET NOD32 Antivirus.