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.

Cheers
Karthik

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.
>
> Regards
> Karthik
>

-- 
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