ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Loop with activecell.offset (https://www.excelbanter.com/excel-programming/346002-loop-activecell-offset.html)

mthomas[_17_]

Loop with activecell.offset
 

Need to accomplish the following:

1. Loop through column B until isEmpty.
2. Locate cell = "Date" in column B,
3. If = Date Then offset(0, "A") (i.e. cell in column A, same row) =
4. Offset(-6, 2) (i.e. value in the cell 6 rows up in column C)
5. Locate the next cell = "Date" and repeat.

Example:

Do Until Column B isEmpty
'Cell B8 is the first cell found in the loop with the word Date.
If Cell(B8) = "Date" Then
Cell(A8) = Cell(C2).Value
End If
Loop

Thanks everyone for your expertise....


--
mthomas
------------------------------------------------------------------------
mthomas's Profile: http://www.excelforum.com/member.php...o&userid=25649
View this thread: http://www.excelforum.com/showthread...hreadid=486370


Bernie Deitrick

Loop with activecell.offset
 
mthomas,

Using activecell.offset to loop is not as efficient as using the built-in find method. See the code
below.

HTH,
Bernie
MS Excel MVP

Sub FindDates()
Dim c As Range
Dim myFindString As String
Dim firstAddress As String

myFindString = "Date"
With Range("B:B")

Set c = .Find(myFindString, LookIn:=xlValues, lookAt:=xlWhole)

If Not c Is Nothing Then
firstAddress = c.Address
c(1, 0).Value = c(-5, 2).Value
Else:
MsgBox "Not Found"
End
End If

Set c = .FindNext(c)
If Not c Is Nothing And c.Address < firstAddress Then
Do
c(1, 0).Value = c(-5, 2).Value
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address < firstAddress
End If
End With

End Sub


"mthomas" wrote in message
...

Need to accomplish the following:

1. Loop through column B until isEmpty.
2. Locate cell = "Date" in column B,
3. If = Date Then offset(0, "A") (i.e. cell in column A, same row) =
4. Offset(-6, 2) (i.e. value in the cell 6 rows up in column C)
5. Locate the next cell = "Date" and repeat.

Example:

Do Until Column B isEmpty
'Cell B8 is the first cell found in the loop with the word Date.
If Cell(B8) = "Date" Then
Cell(A8) = Cell(C2).Value
End If
Loop

Thanks everyone for your expertise....


--
mthomas
------------------------------------------------------------------------
mthomas's Profile: http://www.excelforum.com/member.php...o&userid=25649
View this thread: http://www.excelforum.com/showthread...hreadid=486370




Bruno Campanini[_3_]

Loop with activecell.offset
 
"mthomas" wrote in
message ...

Need to accomplish the following:

1. Loop through column B until isEmpty.
2. Locate cell = "Date" in column B,
3. If = Date Then offset(0, "A") (i.e. cell in column A, same row) =
4. Offset(-6, 2) (i.e. value in the cell 6 rows up in column C)
5. Locate the next cell = "Date" and repeat.

Example:

Do Until Column B isEmpty
'Cell B8 is the first cell found in the loop with the word Date.
If Cell(B8) = "Date" Then
Cell(A8) = Cell(C2).Value
End If
Loop

Thanks everyone for your expertise....


Replace
If UCase(i) = UCase("Date") Then
with
If i = "Date" Then
if you want the search to be case-sensitive.
In any case Error will be generated if "Date" is found
at less than B8.
==========================
Sub Button359_Click()
Dim i
For Each i In Range([Sheet3!B1], [Sheet3!B1].End(xlDown))
If UCase(i) = UCase("Date") Then
i.Offset(0, -1) = i.Offset(-6, 1)
End If
Next
End Sub
===========================
Ciao
Bruno



mthomas[_18_]

Loop with activecell.offset
 

Just wanted to let you know that due to simplicity and I'm a little more
familiar with For...Next loops, I chose to use it AND IT WORKS GREAT!
No reflection on the "replace" method.

Thanks again Bruno and Bernie for your help! You are appreciated!


--
mthomas
------------------------------------------------------------------------
mthomas's Profile: http://www.excelforum.com/member.php...o&userid=25649
View this thread: http://www.excelforum.com/showthread...hreadid=486370



All times are GMT +1. The time now is 12:26 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com