2013-10-01 2 views
0

У меня есть дата & время в колонке В1 и количество в колонке D1.Excel макрос, чтобы найти указанное значение?

Мне нужен макрос для поиска определенного количества есть в моем листе, и если нашли сумму копии, а также дату следующего листа. Случилось много событий.

Было бы лучше, если окно поиска включено.

Благодаря

Вот код, который я узнал из интернета работает нормально, но здесь искать слово «почтовый ящик», а также нет окна поиска доступны. Sub SearchForString()

Dim LSearchRow As Integer 
Dim LCopyToRow As Integer 

On Error GoTo Err_Execute 

'Start search in row 4 
LSearchRow = 4 

'Start copying data to row 2 in Sheet2 (row counter variable) 
LCopyToRow = 2 

While Len(Range("A" & CStr(LSearchRow)).Value) > 0 

    'If value in column E = "Mail Box", copy entire row to Sheet2 
    If Range("E" & CStr(LSearchRow)).Value = "Mail Box" Then 

     'Select row in Sheet1 to copy 
     Rows(CStr(LSearchRow) & ":" & CStr(LSearchRow)).Select 
     Selection.Copy 

     'Paste row into Sheet2 in next row 
     Sheets("Sheet2").Select 
     Rows(CStr(LCopyToRow) & ":" & CStr(LCopyToRow)).Select 
     ActiveSheet.Paste 

     'Move counter to next row 
     LCopyToRow = LCopyToRow + 1 

     'Go back to Sheet1 to continue searching 
     Sheets("Sheet1").Select 

    End If 

    LSearchRow = LSearchRow + 1 

Wend 

'Position on cell A3 
Application.CutCopyMode = False 
Range("A3").Select 

MsgBox "All matching data has been copied." 

Exit Sub 

Err_Execute: МздВох "произошла ошибка."

End Sub

+1

Вы пробовали что-нибудь еще? Какие примеры кода мы можем видеть? –

+0

вам нужно быть более конкретным и понятным !!! что ты уже испробовал? – Sylca

+2

[** Эта ссылка **] (http://www.siddharthrout.com/2011/07/14/find-and-findnext-in-excel-vba/) даст вам начать. – Santosh

ответ

0

Вот что вы можете адаптировать:

Sub dural() 
    Dim s1 As Worksheet, s2 As Worksheet 
    Dim K As Long, N As Long, i As Long 
    Set s1 = Sheets("Sheet1") 
    Set s2 = Sheets("Sheet2") 
    K = 1 
    s1.Select 
    N = Cells(Rows.Count, "B").End(xlUp).Row 
    v = Application.InputBox(Prompt:="Enter value", Type:=1) 
    For i = 1 To N 
     If Cells(i, "D").Value = v Then 
      Cells(i, "B").Copy s2.Cells(K, "B") 
      Cells(i, "D").Copy s2.Cells(K, "D") 
     K = K + 1 
     End If 
    Next i 
End Sub 
+0

Я пробовал использовать этот код, но значения поиска не копируются на следующий лист – user2057099

Смежные вопросы