Cooler Posted July 12, 2019 Posted July 12, 2019 Hello people, I would like some help with my code. I'm trying to get the 'used range of cells' from a particular column, based on which a for loop has to be run. The thing is, this 'used range' gives me the correct value with sheet 2 of an excel sheet, while the same procedure is not working good with sheet 1. Here is the code: Global $eBook = _Excel_BookAttach( @DesktopDir & "\New Microsoft Excel Worksheet.xlsx") Global Const $xlUp = -4162 $eBook.Sheets(1).Select With $eBook.ActiveSheet ; process active sheet $oRangeLast = .UsedRange.SpecialCells($xlCellTypeLastCell) $iRowCount = .Range(.Cells(1, 1), .Cells($oRangeLast.Row, $oRangeLast.Column)).Rows.Count $iLastCell = .Cells($iRowCount , "B").End($xlUp).Row ConsoleWrite("Last used cell in column for part number " & "B1:B" & $iLastCell & @CRLF) EndWith $Count = $eBook.Sheets(1).UsedRange.Rows.Count Sleep( 1000) $range = "B1:B"&$Count $process = _Excel_RangeRead($eBook,1,$range) $eBook.Sheets(2).Select With $eBook.ActiveSheet ; process active sheet $oRanLast = .UsedRange.SpecialCells($xlCellTypeLastCell) $iRowCount2 = .Range(.Cells(1, 1), .Cells($oRanLast.Row, $oRanLast.Column)).Rows.Count $iLastCells2 = .Cells($iRowCount2 , "B").End($xlUp).Row ConsoleWrite("Last used cell in column for sheet 2 " & "B1:B" & $iLastCells2 & @CRLF) EndWith The entire process with sheet 2 of the excel is working perfect. But with Sheet 1, the result is always 'B1:B1', even though the column B is filled upto 5 rows. Any suggestions?? Thanks in advance
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now