View Single Post
  #5   Report Post  
Posted to microsoft.public.excel.programming
Mike H Mike H is offline
external usenet poster
 
Posts: 11,501
Default Current position on worksheet

Try this

Sub CheckSum_xx()
Dim r As Range, c As Range, MyRange as Range
Dim Checksum As Variant
Checksum = 0
Range("E1").Value = "Working"
Set MyRange = Range("C2:C8193") 'select cells to export
For Each r In MyRange
For Each c In r.Cells
Checksum = Checksum + Val("&h" & UCase(c.Text)) 'hex to
decimal, then sum
Next c
Next r
Range("E1").Value = Right(Hex(Checksum), 4)
End Sub

Mike

"Fan924" wrote:

Your code presumably involves selecting a range in row 1. Selecting ranges
is rarely necessary in macros.


Is there another way to do it without selecting a range?

Sub CheckSum_xx()
Dim r As Range, c As Range
Dim Checksum As Variant
Checksum = 0
Range("E1").Value = "Working"
Range("C2:C8193").Select 'select cells to export
For Each r In Selection.Rows
For Each c In r.Cells
Checksum = Checksum + Val("&h" & UCase(c.Text)) 'hex to
decimal, then sum
Next c
Next r
Range("E1").Value = Right(Hex(Checksum), 4)
End Sub