Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1
Default 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

  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 5,441
Default 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



  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 52
Default 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


  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1
Default 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

Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
If activecell.column = variable then activecell,offset (0,1) Battykoda via OfficeKB.com Excel Discussion (Misc queries) 1 October 2nd 07 08:05 PM
ActiveCell Offset rnrss[_2_] Excel Programming 0 October 7th 05 10:12 AM
Activecell Offset Mark Excel Programming 2 December 7th 04 04:57 PM
ActiveCell.Offset w/ VBA Bob Umlas[_3_] Excel Programming 2 September 4th 04 02:58 PM
activecell offset rvik Excel Programming 1 December 24th 03 07:47 AM


All times are GMT +1. The time now is 10:28 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright ©2004-2025 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"