Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 367
Default Find string/date in array to get value of nearby cell

I have an array that contains all sorts of text in column A.
I would like to know how I can search for certain date (example "6-Aug") and
then get the value of the cell that is 5 rows below that date?

The date is a web query where the only pattern I can find is the data I need
for each date is 5 rows below the corresponding date.

Thanks!
  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 367
Default Find string/date in array to get value of nearby cell

Preferably in VBA format :)
  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 6
Default Find string/date in array to get value of nearby cell

Hello ,

I've little confused about the relationship between the array and the date
you want to find("6-Aug"?), is the date contains in Column A? My
understanding is you want find a cell which is 5 rows below a Column A
cell. If I'm correct the solution is shows as below:

Sub FindValue()
Dim rFound As range
Dim rng As Excel.range
Set rng = Me.range("D:D")

On Error Resume Next
With rng
Set rFound = .Find(What:="6-Aug", LookIn:=xlValues, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext,
MatchCase:=False _
, SearchFormat:=False)
If Not rFound Is Nothing Then
MsgBox rFound.Offset(5, 0).Value2
End If
On Error GoTo 0
If Not rFound Is Nothing Then Application.Goto rFound, True
End With

End Sub

Some comment about above solution, the idea is we could take use of
Range.Find method to search a string in a certain range, for more
information about Find method , please refer to this link:
http://msdn.microsoft.com/en-us/libr...ffice.11).aspx

After we get the cell that contains "6-Aug" we then use Range.Offset
property to get the final cell we want. For more information about Offset
property please refer to this link:
http://msdn.microsoft.com/en-us/libr...ffice.11).aspx

Besides, a more complex case is if the value you search is a Date Type data
in Excel, please refer to this article:
http://www.ozgrid.com/VBA/find-dates.htm


Best regards,
Tim Li
Microsoft Online Community Support

Delighting our customers is our #1 priority. We welcome your comments and
suggestions about how we can improve the support we provide to you. Please
feel free to let my manager know what you think of the level of service
provided. You can send feedback directly to my manager at:
.


  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 367
Default Find string/date in array to get value of nearby cell

Thanks! That did the trick!
  #5   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 8,520
Default Find string/date in array to get value of nearby cell

Hi Jason

The below macro will return the entry 5 rows down from the date entry
06-Aug-2009 in Column A. Hope the date entry is in excel date format. Try and
feedback

Sub Macro()

Dim dtTemp As Date, lngRow As Long
dtTemp = DateValue("06-Aug-2009")
lngRow = WorksheetFunction.Match(dtTemp, Range("A:A").Value, 0)
MsgBox Range("A" & lngRow + 5)

End Sub

If this post helps click Yes
---------------
Jacob Skaria


"Jason" wrote:

I have an array that contains all sorts of text in column A.
I would like to know how I can search for certain date (example "6-Aug") and
then get the value of the cell that is 5 rows below that date?

The date is a web query where the only pattern I can find is the data I need
for each date is 5 rows below the corresponding date.

Thanks!



  #6   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 367
Default Find string/date in array to get value of nearby cell

It's giving me a Run-time error '13' Type Mismatch on the lngRow line no
matter what I try.

"Jacob Skaria" wrote:

Hi Jason

The below macro will return the entry 5 rows down from the date entry
06-Aug-2009 in Column A. Hope the date entry is in excel date format. Try and
feedback

Sub Macro()

Dim dtTemp As Date, lngRow As Long
dtTemp = DateValue("06-Aug-2009")
lngRow = WorksheetFunction.Match(dtTemp, Range("A:A").Value, 0)
MsgBox Range("A" & lngRow + 5)

End Sub

If this post helps click Yes
---------------
Jacob Skaria


"Jason" wrote:

I have an array that contains all sorts of text in column A.
I would like to know how I can search for certain date (example "6-Aug") and
then get the value of the cell that is 5 rows below that date?

The date is a web query where the only pattern I can find is the data I need
for each date is 5 rows below the corresponding date.

Thanks!

  #7   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 35,218
Default Find string/date in array to get value of nearby cell

Option Explicit
Sub testme()

Dim res As Variant
Dim myDate As Date
Dim myRng As Range

myDate = DateSerial(2009, 8, 6) 'August 6, 2009

With Worksheets("Somesheetnamehere")
Set myRng = .Range("A:A")
End With

res = Application.Match(CLng(myDate), myRng, 0)

If IsError(res) Then
MsgBox "Not found"
Else
MsgBox myRng(res).Offset(5, 0).Value
End If
End Sub


Jason wrote:

I have an array that contains all sorts of text in column A.
I would like to know how I can search for certain date (example "6-Aug") and
then get the value of the cell that is 5 rows below that date?

The date is a web query where the only pattern I can find is the data I need
for each date is 5 rows below the corresponding date.

Thanks!


--

Dave Peterson
  #8   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 367
Default Find string/date in array to get value of nearby cell

Thanks! That worked as well!
  #9   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 35,218
Default Find string/date in array to get value of nearby cell

Ps.

I find the .offset() easier to understand, but this would have worked, too:

MsgBox myRng(res + 5).Value



Jason wrote:

I have an array that contains all sorts of text in column A.
I would like to know how I can search for certain date (example "6-Aug") and
then get the value of the cell that is 5 rows below that date?

The date is a web query where the only pattern I can find is the data I need
for each date is 5 rows below the corresponding date.

Thanks!


--

Dave Peterson
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
Array formula to find date Amylou Excel Worksheet Functions 0 March 25th 10 04:17 PM
Excel keeps changing my formulas to include nearby cells. emeraldc Charts and Charting in Excel 1 May 25th 08 06:49 AM
Find & Replace String Array - More Than 255 Characters? Rawce Excel Programming 0 June 11th 07 02:10 PM
Compare String in Cell to an Array jbtenor1 Excel Programming 3 March 29th 06 02:36 PM
macro to find date in the string nshanmugaraj[_8_] Excel Programming 3 March 4th 06 12:30 PM


All times are GMT +1. The time now is 10:44 PM.

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"