我是vba的新手
我有一个源文件,该文件在B5:B17范围内具有信息,此表格将供其他人发送给管理数据库的人。我需要编写一个VBA代码,该代码将在源范围内选择数据,转动它,找到一个匹配项,然后覆盖现有数据或添加到下一个空白行。这是序列:
- 提示数据库管理器打开源文件(我知道如何执行此操作)
- 将数据转载在B5:B17 中
- 在单元格(源文件)中搜索匹配项,并将其与C(数据库)中的值匹配
- 覆盖匹配数据
- 如果不存在匹配,请写入下一个空行。
我一直在使用以下代码作为指导,但它有一些局限性。源文件也必须打开,我不确定如何将转置函数包括到此代码中。任何帮助ID都赞赏
这应该做您要寻找的事情。
Sub Sample()
Dim rngEnteredID As Range
Dim lngRowWithMatch As Range
Set rngEnteredID = Sheets("Sheet1").Range("B7")
On Error GoTo NoMatch
lngRowWithMatch = WorksheetFunction.Match(rngEnteredID.Value, Sheets("Sheet2").Range("C:C"), 0)
On Error GoTo 0
Sheets("Sheet2").Range("A" & lngRowWithMatch & ":K" & lngRowWithMatch).Value = Application.Transpose(Sheets("Sheet1").Range("B5:B17"))
Exit Sub
NoMatch:
Dim lngEmptyRow As Long
lngEmptyRow = Sheets("Sheet2").Cells(Rows.Count, 3).End(xlUp).Row + 1
Sheets("Sheet2").Range("A" & lngEmptyRow & ":K" & lngEmptyRow).Value = Application.Transpose(Sheets("Sheet1").Range("B5:B17"))
End Sub