Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database 在另一张表中查找单元格_Database_Vba_Excel_Find - Fatal编程技术网

Database 在另一张表中查找单元格

Database 在另一张表中查找单元格,database,vba,excel,find,Database,Vba,Excel,Find,我为申请付款计划的学生创建了一个数据库。我有3张纸: “查询”-这是在等待学生注册时存储数据的地方 “已确认”-此数据有3行标题:学生ID(B1)、计划ID(B2)和付款ID(B3)。在学生注册后,我将在此处输入附加数据 “总名单”-确认付款计划的学生的最终名单 我的想法是在“确认”表中手动输入数据,然后运行一个宏来搜索“查询”表中学生ID(B1)的值。然后,我希望它复制“询价”表B和E栏中的计划ID(B2)和付款ID(B3) 填充数据后,我需要将整行传输到“主列表”表 我试着录制Marco,但

我为申请付款计划的学生创建了一个数据库。我有3张纸:

“查询”-这是在等待学生注册时存储数据的地方

“已确认”-此数据有3行标题:学生ID(B1)、计划ID(B2)和付款ID(B3)。在学生注册后,我将在此处输入附加数据

“总名单”-确认付款计划的学生的最终名单

我的想法是在“确认”表中手动输入数据,然后运行一个宏来搜索“查询”表中学生ID(B1)的值。然后,我希望它复制“询价”表B和E栏中的计划ID(B2)和付款ID(B3)

填充数据后,我需要将整行传输到“主列表”表

我试着录制Marco,但它发现的只是录制时单元格的当前值。我对公式很在行,但以前没有真正做过宏

Range("B1").Select
Selection.Copy
Sheets("Enquiry").Select
Cells.Find(What:="4536092", After:=ActiveCell, LookIn:=xlFormulas, _
    LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
    MatchCase:=False, SearchFormat:=False).Activate
Rows("29:29").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Masterlist").Select
ActiveWindow.LargeScroll Down:=-7
Rows("2:2").Select
Sheets("Enquiry").Select
Range("A29").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = "4536092"
Rows("29:29").Select
Selection.Copy
Sheets("Masterlist").Select
Rows("2:2").Select
Selection.Insert Shift:=xlDown

并非所有vba功能都可以通过宏记录器访问。下面的代码在我根据您的图纸布局描述构建的测试工作簿中工作。以后,请在工作簿中添加屏幕截图或更好的dropbox xlsx。还要注意,这里很少有人会花时间从头开始构建代码

我已经对这一点作了不少评论。玩这个。用问题来评论,我会回答

Sub macroName()

        'declaring range object Ranges hold values and cell addresses at the same time
    Dim id As Range
    Dim found As Range

        'setting id var
    Set id = Worksheets("Confirmed").Range("b2")

        'making sure id we are checking isn't null
    If Not id.Value = "" Then
            'finding the value for var id.  xlWhole means exact cell match.
        Set found = Worksheets("Enquiry").Cells.find(What:=id, LookAt:=xlWhole)
        MsgBox "Inserted new row in Masterlist for ID: " & id
    Else
        MsgBox "ID cannot be null at: " & id.Address
    End If

        'making sure we had a match from .find
    If Not found Is Nothing Then
            'inserting a new row
        Worksheets("Masterlist").Range("a2").EntireRow.Insert
            'setting new row to value of entire row value of range object.
        Worksheets("Masterlist").Range("a2").Value = found.Rows.Value
    Else
        MsgBox "Nothing found for id: " & id.Value
    End If
End Sub

并非所有vba功能都可以通过宏记录器访问。下面的代码在我根据您的图纸布局描述构建的测试工作簿中工作。以后,请在工作簿中添加屏幕截图或更好的dropbox xlsx。还要注意,这里很少有人会花时间从头开始构建代码

我已经对这一点作了不少评论。玩这个。用问题来评论,我会回答

Sub macroName()

        'declaring range object Ranges hold values and cell addresses at the same time
    Dim id As Range
    Dim found As Range

        'setting id var
    Set id = Worksheets("Confirmed").Range("b2")

        'making sure id we are checking isn't null
    If Not id.Value = "" Then
            'finding the value for var id.  xlWhole means exact cell match.
        Set found = Worksheets("Enquiry").Cells.find(What:=id, LookAt:=xlWhole)
        MsgBox "Inserted new row in Masterlist for ID: " & id
    Else
        MsgBox "ID cannot be null at: " & id.Address
    End If

        'making sure we had a match from .find
    If Not found Is Nothing Then
            'inserting a new row
        Worksheets("Masterlist").Range("a2").EntireRow.Insert
            'setting new row to value of entire row value of range object.
        Worksheets("Masterlist").Range("a2").Value = found.Rows.Value
    Else
        MsgBox "Nothing found for id: " & id.Value
    End If
End Sub