首页 > 解决方案 > Excel VBA尝试将数据从excel工作簿发送到另一个

问题描述

我找不到一个足够接近我需要的问题,或者我可能没有我想象的那么好谷歌搜索。

无论如何,我有一个问题,我需要使用 excel 作为数据库,因为我的工作地点没有访问权限。

这应该起作用的方式是,在用户输入所需数据后的“ui”工作簿中,它需要从“ui”工作簿中获取用户的员工编号,并使用它在所有列表中找到它们“数据库”工作表上的员工然后增加一个字段,表明他们已经完成了这一特定任务一次。然后在另一张工作簿上的另一张工作表上,它需要记录完成的日期,并针对该日期输入用户 ID。

到目前为止,我还没有尝试过第二部分的代码,因为我遇到了第一部分的问题。这是我到目前为止所做的事情,它在匹配功能上出错

Sub SendToDB()
      Application.ScreenUpdating = False
    Dim DB As Workbook
    Dim UI As Workbook
    Dim ENo As Long
    Dim CopyFrom As Worksheet
    Set CopyFrom = Worksheets("Checklist")
 
    
    ENo = Range("G45").Value
    Set UI = ThisWorkbook
    Set DB = Workbooks.Open("file location here\database.xlsx", True)
    Dim EmCount As Long
    Dim EmRow As Long
    Dim EmCell As Range

    
    
    
    Application.ScreenUpdating = False
    DB.Worksheets("EMLIST").Activate
    
       
    EmRow = Application.WorksheetFunction.Match(ENo, Range("AML"), 0)
    
    EmCell = Range("G" & EmRow)
    
    EmCount = Application.WorksheetFunction.VLookup(EmENo, Range("AML"), 7, False)
    EmCount = EmCount + 1
    
    EmCell.Value = EmCount
    
    DB.Close True
    Set DB = Nothing
    
    Application.ScreenUpdating = True
End Sub

AML 是数据库电子表格上的一个命名范围,其中包含所有员工数据

谢谢

标签: excelvba

解决方案


推荐阅读