From: Vikram Dhemare on
Hi,
I use to get the web data on button click with the codes provided by Dave.
No i would like to modify the codes as per users request. If the innertext
value of 4th column of HTML table is already available in the extracted sheet
then code should skip the row & go for next row of html table something like
if ......... then exit for else. For ready reference some of the codes
provinding here
For Each mRow In mTable.Rows
iCol = 0
For Each mCell In mRow.Cells
rBase.Offset(iRow, iCol).Value = mCell.innerText
iCol = iCol + 1
Next
iRow = iRow + 1
End If
Next

If mCell.innertext value already available then exit for

--
Thanks,
Vikram P. Dhemare
From: joel on

Indexing on the webpage starts at 0 so the 4th column is index 3


For Each mRow In mTable.Rows
if mRow.cells(3) <> rBase.Offset(iRow, 4).Value then
iCol = 0
For Each mCell In mRow.Cells
rBase.Offset(iRow, iCol).Value = mCell.innerText
iCol = iCol + 1
Next
iRow = iRow + 1
End If
Next mRow


--
joel
------------------------------------------------------------------------
joel's Profile: http://www.thecodecage.com/forumz/member.php?u=229
View this thread: http://www.thecodecage.com/forumz/showthread.php?t=199824

http://www.thecodecage.com/forumz

From: Vikram Dhemare on
Thanks Sir,
But I am looking for the answer which can find the HTML Cells(1).innertext
of each row, in a worksheet, if found then go for next HTML row if does not
found then copy the value & paste in that sheet at last filled row.
for Example:
With Wks
iRow = .Range("A" & Rows.Count).End(xlUp).Row
End With
End If
For Each mRow In mTable.Rows
With Wks
Set rngC = Columns(1).Find(What:=mRow.Cells(1).innerText, _
LookAt:=xlPart, LookIn:=xlValues)
End With
If Not rngC Is Nothing Then
Exit For
Else
iCol = 0
For Each mCell In mRow.Cells
rBase.Offset(iRow, iCol).Value = mCell.innerText
iCol = iCol + 1
End If
Next
iRow = iRow + 1
End If
Next mRow

Any help will be highly appreciable.
--
Thanks,
Vikram P. Dhemare


"joel" wrote:

>
> Indexing on the webpage starts at 0 so the 4th column is index 3
>
>
> For Each mRow In mTable.Rows
> if mRow.cells(3) <> rBase.Offset(iRow, 4).Value then
> iCol = 0
> For Each mCell In mRow.Cells
> rBase.Offset(iRow, iCol).Value = mCell.innerText
> iCol = iCol + 1
> Next
> iRow = iRow + 1
> End If
> Next mRow
>
>
> --
> joel
> ------------------------------------------------------------------------
> joel's Profile: http://www.thecodecage.com/forumz/member.php?u=229
> View this thread: http://www.thecodecage.com/forumz/showthread.php?t=199824
>
> http://www.thecodecage.com/forumz
>
> .
>
From: joel on

I ould reverse the procesess you are using. span the webpage then use
find to locate the row and column of the worksheet. Something like
this


For Each mRow In mTable.Rows
ColCount = 0
For Each mCol In mRow
if ColCount = 0 then
RowHeader = mCol
Else
ColHeader = mTable.Rows(0).cells(ColCount)
With Wks
Set rngC = .Columns(1).Find(What:=RowHeader, _
LookAt:=xlPart, LookIn:=xlValues)
if not rngC is nothing then
Set rngR = .Rows(1).Find(What:=ColHeader, _
LookAt:=xlPart, LookIn:=xlValues)
.Cells(rngC.Row,rngR.column) = mCol.innertext
end if
End With
End if
ColCount = ColCount + 1
next mCol
next mRow


--
joel
------------------------------------------------------------------------
joel's Profile: http://www.thecodecage.com/forumz/member.php?u=229
View this thread: http://www.thecodecage.com/forumz/showthread.php?t=199824

http://www.thecodecage.com/forumz

From: Vicky on

Not getting the desired report., Values returns blanks.
--
Thanks,
Vikram P. Dhemare


"Vikram Dhemare" wrote:

> Hi,
> I use to get the web data on button click with the codes provided by Dave.
> No i would like to modify the codes as per users request. If the innertext
> value of 4th column of HTML table is already available in the extracted sheet
> then code should skip the row & go for next row of html table something like
> if ......... then exit for else. For ready reference some of the codes
> provinding here
> For Each mRow In mTable.Rows
> iCol = 0
> For Each mCell In mRow.Cells
> rBase.Offset(iRow, iCol).Value = mCell.innerText
> iCol = iCol + 1
> Next
> iRow = iRow + 1
> End If
> Next
>
> If mCell.innertext value already available then exit for
>
> --
> Thanks,
> Vikram P. Dhemare