Home |
Search |
Today's Posts |
|
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
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
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Preferably in VBA format :)
|
#3
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
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
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Thanks! That did the trick!
|
#5
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
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
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
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
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
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
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Thanks! That worked as well!
|
#9
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
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 |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Array formula to find date | Excel Worksheet Functions | |||
Excel keeps changing my formulas to include nearby cells. | Charts and Charting in Excel | |||
Find & Replace String Array - More Than 255 Characters? | Excel Programming | |||
Compare String in Cell to an Array | Excel Programming | |||
macro to find date in the string | Excel Programming |