can you send me a sample file directly?That way I can try out some things 
without spending hours building a test file that doesn't look anything at all 
like what you have!
You can send it directly to:schreiner_p...@att.net 
Paul-----------------------------------------
“Do all the good you can,
By all the means you can,
In all the ways you can,
In all the places you can,
At all the times you can,
To all the people you can,
As long as ever you can.” - John Wesley
----------------------------------------- 

    On Wednesday, March 30, 2016 2:47 AM, Karthik 
<karthikislegend...@gmail.com> wrote:
 
 

 Yes, can you pls suggest the alternative code.
Idea is when comboboxes are empty then it should run only on dates.
CheersKarthik


On Tuesday, 29 March 2016 20:01:03 UTC+5:30, Paul Schreiner wrote:
 Ah... I think maybe we should rethink the logic here.In your statement:Set 
rngD = wshD.Range("G:G").Find(What:= Me.ComboBox1.Value, Lookat:=xlWhole)if 
Me.ComboBox1.Value is empty, you're looking in column G for "nothing".Does the 
.Find method return an empty range? or a range of which column G is blank?
I think you probably ought to check the values of Me.ComboBox1.Value and 
Me.ComboBox2.Valueand exit if either is empty.
Also: If (wshD.Cells(r, "C") >= rngD2 And wshD.Cells(r, "C") <= rngD)
Shouldn't that be: If (wshD.Cells(r, "C") >= rngD2 And wshD.Cells(r, "C") <= 
rngD3)
Since Column C seems to be dates?
Paul------------------------------ -----------
“Do all the good you can,
By all the means you can,
In all the ways you can,
In all the places you can,
At all the times you can,
To all the people you can,
As long as ever you can.” - John Wesley
------------------------------ ----------- 

   

 On Tuesday, March 29, 2016 9:49 AM, Karthik <karthikis...@gmail.com> wrote:
 
 

 Thanks Paul for your response.Here is the complete macro for better 
understanding.
Sub Fetch_Click()           Dim wshD As Worksheet     Dim wshP As Worksheet     
Dim rngD As Range     Dim rngP As Range     Dim r As Long     Dim m As Long     
Dim n As Integer     Dim rngD2 As Range     Dim rngD3 As Range     Dim rngD4 As 
Range     Dim LastRow As Long     Dim i As Long         Set wshD = 
Worksheets("Data")     Set wshP = Worksheets("Dashboard")     
wshP.Range("B12:G10000"). ClearContents     Set rngD = 
wshD.Range("G:G").Find(What:= Me.ComboBox1.Value, Lookat:=xlWhole)     Set 
rngD2 = wshD.Range("C:C").Find(What:= Me.DTPicker3.Value, Lookat:=xlWhole)     
Set rngD3 = wshD.Range("C:C").Find(What:= Me.DTPicker2.Value, Lookat:=xlWhole)  
   Set rngD4 = wshD.Range("E:E").Find(What:= Me.ComboBox2.Value, 
Lookat:=xlWhole)             LastRow = wshD.Range("C10000").End(xlUp) .Row     
n = 0          For r = 2 To LastRow                           If Not rngD And 
rngD4 Is Nothing Then                     If (wshD.Cells(r, "C") >= rngD2 And 
wshD.Cells(r, "C") <= rngD) And (wshD.Cells(r, "G") = rngD And wshD.Cells(r, 
"E") = rngD4) Then         Worksheets("Data").Rows(r). EntireRow.Copy 
Destination:=wshP.Range("A" & wshP.Rows.Count).End(xlUp). Offset(11 + n, 0)     
    Application.CutCopyMode = False         n = n + 1                  End If   
      End If            Next r             LastRow = Range("C" & 
Rows.Count).End(xlUp).Row        For i = 12 To LastRow        Range("B" & 
i).Value = i - 11    Next i          End Sub
Data it is trying to pull is an extract from outlook mailbox. Date picker for 
from and to dates and comboboxes are for sender and categories.
Now my point is when I enter only dates then it should pull all emails between 
those dates. When I add sender to it then it should filter accordingly. 
Currently, if i do not enter all criterias it does not run and fetch results.
Hope this time I made it clearer.
CheersKarthik
On Tuesday, 29 March 2016 13:41:28 UTC+5:30, Karthik wrote:


Hello,
I have formulated a macro to search data, from a worksheet, using user forms. 
User form has Date picker and couple of comboxes. Idea is to search between two 
dates along with two criterias.
My problem is, macro doesnt function if I do not enter all the search 
criterias. Ideally, it should search based on given criterias. I wil just copy 
the main part of the macro as others are not relevantto my question
If (wshD.Cells(r, "C") >= rngD2 And wshD.Cells(r, "C") <= rngD) And 
(wshD.Cells(r, "G") = rngD And wshD.Cells(r, "E") = rngD4) Then         
Worksheets("Data").Rows(r). EntireRow.Copy Destination:=wshP.Range("A" & 
wshP.Rows.Count).End(xlUp). Offset(11 + n, 0)         Application.CutCopyMode = 
False         n = n + 1                  End If
I think change needed here when any of the criteria points to Nothing they 
should search the rest.
RegardsKarthik
-- 
Are you =EXP(E:RT) or =NOT(EXP(E:RT)) in Excel? And do you wanna be? It’s 
=TIME(2,DO:IT,N:OW) ! Join official Facebook page of this forum @ 
https://www.facebook.com/discussexcel
 
FORUM RULES
 
1) Use concise, accurate thread titles. Poor thread titles, like Please Help, 
Urgent, Need Help, Formula Problem, Code Problem, and Need Advice will not get 
quick attention or may not be answered.
2) Don't post a question in the thread of another member.
3) Don't post questions regarding breaking or bypassing any security measure.
4) Acknowledge the responses you receive, good or bad.
5) Jobs posting is not allowed.
6) Sharing copyrighted material and their links is not allowed.
 
NOTE : Don't ever post confidential data in a workbook. Forum owners and 
members are not responsible for any loss.
--- 
You received this message because you are subscribed to the Google Groups "MS 
EXCEL AND VBA MACROS" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to excel-macros...@ googlegroups.com.
To post to this group, send email to excel-...@googlegroups.com.
Visit this group at https://groups.google.com/group/excel-macros.
For more options, visit https://groups.google.com/d/optout.


 
   
-- 
Are you =EXP(E:RT) or =NOT(EXP(E:RT)) in Excel? And do you wanna be? It’s 
=TIME(2,DO:IT,N:OW) ! Join official Facebook page of this forum @ 
https://www.facebook.com/discussexcel
 
FORUM RULES
 
1) Use concise, accurate thread titles. Poor thread titles, like Please Help, 
Urgent, Need Help, Formula Problem, Code Problem, and Need Advice will not get 
quick attention or may not be answered.
2) Don't post a question in the thread of another member.
3) Don't post questions regarding breaking or bypassing any security measure.
4) Acknowledge the responses you receive, good or bad.
5) Jobs posting is not allowed.
6) Sharing copyrighted material and their links is not allowed.
 
NOTE : Don't ever post confidential data in a workbook. Forum owners and 
members are not responsible for any loss.
--- 
You received this message because you are subscribed to the Google Groups "MS 
EXCEL AND VBA MACROS" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to excel-macros+unsubscr...@googlegroups.com.
To post to this group, send email to excel-macros@googlegroups.com.
Visit this group at https://groups.google.com/group/excel-macros.
For more options, visit https://groups.google.com/d/optout.


 
  

-- 
Are you =EXP(E:RT) or =NOT(EXP(E:RT)) in Excel? And do you wanna be? It’s 
=TIME(2,DO:IT,N:OW) ! Join official Facebook page of this forum @ 
https://www.facebook.com/discussexcel

FORUM RULES

1) Use concise, accurate thread titles. Poor thread titles, like Please Help, 
Urgent, Need Help, Formula Problem, Code Problem, and Need Advice will not get 
quick attention or may not be answered.
2) Don't post a question in the thread of another member.
3) Don't post questions regarding breaking or bypassing any security measure.
4) Acknowledge the responses you receive, good or bad.
5) Jobs posting is not allowed.
6) Sharing copyrighted material and their links is not allowed.

NOTE  : Don't ever post confidential data in a workbook. Forum owners and 
members are not responsible for any loss.
--- 
You received this message because you are subscribed to the Google Groups "MS 
EXCEL AND VBA MACROS" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to excel-macros+unsubscr...@googlegroups.com.
To post to this group, send email to excel-macros@googlegroups.com.
Visit this group at https://groups.google.com/group/excel-macros.
For more options, visit https://groups.google.com/d/optout.

Reply via email to