我一直在尝试使用VBA从MS Excel中的数据透视表中提取特定数据点。
数据如下:
ID dimension value
0001 Name Max
0001 Adress Octavia St
0002 Postal Code 94100
0001 City San Antonio
0005 Name Sylvia
0018 Postal Code 33741
并且我想根据所需的“维数”作为列标题和ID作为行标题,将特定数据点提取到更大的表中,并使用来自其他来源的信息:
ID otherInfo1 Name otherInfo2 City
0001 chef Max married San Antonio
0005 bank teller Sylvia single ...
不幸的是,我无法在线找到该问题的任何答案,而且对于VBA来说还比较陌生。
有人知道如何在不使用中间工作表的情况下将数据直接粘贴到另一个电子表格中吗?
我一直在尝试使用for循环,但未成功:
For i = 12 To nRowsB
For j = 2 To nRowsB
If wks_source.Cells(j, 1).Value = wkstarget.Cells(i, 1).Value Then
wkstarget.Cells(i, 1).Value = wks_source.Cells(j, 1).Value
Debug.Print "Success1"
Else
j = j + 1
End If
Next j
Next i
nRowsB-源文件中的行数
非常感谢您的帮助!
答案 0 :(得分:0)
此代码应可帮助您解决问题。
(Get-Content 'C:\folder\phonebook.xml') -replace '<extension>01','<extension>+441' -replace '<extension>07','<extension>+447' | Set-Content 'C:\folder\phonebook.xml'
它从此表“源”中提取数据
进入此表“目标”
答案 1 :(得分:0)
昨晚制定了此代码,请查找附件以供参考:
Sub get_unpivoted_data(nRowsID, source_wks, target_wks, ID_column_source, ID_column_target, search_term_2nd_level, target_write_column, source_column, source_search_term_2nd_level_column)
For i = 12 To nRowsID
For j = 2 To nRowsID
If source_wks.Cells(j, ID_column_source).Value = target_wks.Cells(i, ID_column_target).Value Then
Debug.Print "Success1"
If source_wks.Cells(j, source_search_term_2nd_level_column).Value = search_term_2nd_level Then
target_wks.Cells(i, target_write_column).Value = source_wks.Cells(j, source_column).Value
Else
Debug.Print "x"
End If
Else
j = j + 1
End If
Next j
Next i
End Sub