我已經制作了發票表單和客戶數據庫,因此我可以輕鬆爲客戶製作發票。我正在使用2張。工作表1包含發票表單,並有一個「查找聯繫人」macrobutton,通過名稱查找客戶信息(在範圍「B12」中給出)。在表2中找到名稱時,它會自動將信息複製到工作表1中。在某個VBA程序中使用.find
唯一的問題是,我必須搜索完整的名稱,否則將無法找到它。如果我的聯繫人保存爲「Nicolas Cage」,則不能找到「Nicolas」。所以我想知道如果我可以集成在未來的代碼...
.Find(What:="", , LookIn:=xlValues, LookAt:=xlPart)
(或其它可用於使它工作。)
...在此代碼,我用它來尋找信息和Sheet2中複製到工作表Sheet1:'這是你搜索的客戶
Option Explicit
Sub ContactOproepen()
Dim customername As String
Dim Finalrow As Integer
Dim i As Integer
customername = Sheets("Sheet1").Range("B12").Value
Finalrow = Sheets("Sheet1").Range("A1000").End(xlUp).Row
For i = 2 To Finalrow
If Worksheets("Sheet2").Cells(i, 1) = customername Then
'Name
Worksheets("Sheet2").Cells(i, 1).Copy
Worksheets("Sheet1").Range("B12").PasteSpecial xlPasteFormulasAndNumberFormats
'Adress
Worksheets("Sheet2").Cells(i, 2).Copy
Worksheets("Sheet1").Range("B13").PasteSpecial xlPasteFormulasAndNumberFormats
'Postal & City
Worksheets("Sheet2").Cells(i, 3).Copy
Worksheets("Sheet1").Range("B14").PasteSpecial xlPasteFormulasAndNumberFormats
'Phonenumber
Worksheets("Sheet2").Cells(i, 4).Copy
Worksheets("Sheet1").Range("B15").PasteSpecial xlPasteFormulasAndNumberFormats
'E-mail
Worksheets("Sheet2").Cells(i, 5).Copy
Worksheets("Sheet1").Range("B16").PasteSpecial xlPasteFormulasAndNumberFormats
End If
Next i
Range("B12").Select
Application.CutCopyMode = False
If Range("B15") = "" Then
MsgBox "customer not found.", vbOKOnly, "Search customer"
End If
End Sub
這將是巨大的,如果它有它要求一個MsgBox如果它是否它會轉到下一位客戶,直到找到合適的人。如果(最終)它是是它將繼續複製一切並填寫表格。
我一直在努力奮鬥幾天,找不到任何工作。如果你能幫助我,那會很棒!
嗯,這似乎不工作。即使找不到名稱,也可以通過「costumer found:.find」獲取一個消息框。 並且在消息框之後出現「對象需要」錯誤。在線: Set rngFound = wsSearch.Cells.FindNext(rngFound) – Mikos