将标准Excel形式转置,匹配和导入到Excel数据库中



我是vba的新手

我有一个源文件,该文件在B5:B17范围内具有信息,此表格将供其他人发送给管理数据库的人。我需要编写一个VBA代码,该代码将在源范围内选择数据,转动它,找到一个匹配项,然后覆盖现有数据或添加到下一个空白行。这是序列:

  1. 提示数据库管理器打开源文件(我知道如何执行此操作)
  2. 将数据转载在B5:B17
  3. 在单元格(源文件)中搜索匹配项,并将其与C(数据库)中的值匹配
  4. 覆盖匹配数据
  5. 如果不存在匹配,请写入下一个空行。

我一直在使用以下代码作为指导,但它有一些局限性。源文件也必须打开,我不确定如何将转置函数包括到此代码中。任何帮助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