我已经制作了发票表单和客户数据库,因此我可以轻松为客户制作发票。我正在使用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