我是VBA的新手,但我正在设置Excel中的数据库(我意识到Access更适合我,但我正在为其他人这样做。)
我有一个源文件,其中包含B5:B17范围内的信息,此表单将供其他人发送给管理数据库的人员。我需要编写一个VBA代码,它将选择源范围内的数据,转置它,查找匹配是否存在,然后覆盖现有数据或添加到下一个空行。这是序列:
我一直使用以下code作为指南,但它有一些限制。源文件必须打开,我也不知道如何将Transpose函数包含在此代码中。任何帮助ID赞赏
答案 0 :(得分:0)
这应该可以满足您的需求。
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