问题描述
我正在尝试使用 Excel VBA 从 XML 文件中提取使用前一个元素的元素。 XML 文件为每个元素重复节点并且不是唯一的。我尝试搜索第一个元素的文本(测试 1),然后使用 .Offset 拉下一个元素(1111),但是,这不起作用。帮助?
XML 数据示例
<Content>
<Dropdown>Test 1</Dropdown>
<amount>1111</amount></Content>
<Content>
<Dropdown>Test 2</Dropdown>
<amount>2222</amount></Content>
我的 VBA 代码示例:
Dim check_cell As Range
Dim ws_input As Worksheet
Dim ws_Test As Worksheet
Set ws_input = Application.Workbooks.Open(Test_file).Sheets(1)
For Each check_cell In ws_input.Range(ws_input.Cells(2,1),ws_input.Cells(2,Last_Column(ws_input,2)))
Select Case True
Case check_cell.Text Like "/Content/Dropdown*"
If check_cell.Offset(1,0) = "Test 1" Then
LocateField("Test 1?",ws_Test).Offset(0,1) = check_cell.Offset(1,1)
End If
End Select
Next check_cell
End Sub
Public Function LocateField(desc As String,ws As Worksheet,Optional after_range As Variant) As Range
On Error Resume Next
Set LocateField = ws.Cells.Find(what:=desc,After:=after_range,LookIn:=xlValues,SearchOrder:=xlByRows,MatchByte:=False)
On Error GoTo 0
If LocateField Is Nothing Then
MsgBox "Field not found."
End If
End Function
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)