因此,我将数据从Sharepoint日历引入excel电子表格。有没有办法,每当我从sharepoint导入新数据时,它都会循环通过Sharepoint提供的uniqiue ID,并检查它是否已从传入的数据中删除?
那么检查针对当前系统中数据的新数据?
我认为我必须做的是导入数据,将数据存储在“临时”电子表格中,然后运行循环以将临时表的ID汇总到数据表,然后处理审计流程,然后将Temporary更新到数据表,最后删除临时表。
我需要检查两个工作表的ID列。如果ID不存在,我需要从剩余列中提取信息并将该记录导出到另一个电子表格
直到昨天才使用VBA,我被分配了这个任务,没有资源也没关于这个。我知道需要做些什么。不是如何实现它。我需要比较C!在数据到C!暂时的。如果Data中有一个单元格,那不是临时的,我需要将整行导出到Audit工作表。
有人知道哪些命令/宏对此有用吗?
” Public Sub Find_ID()
Dim old_id As Integer, new_id As Integer, oldRow As Variant, newRow As Variant
Dim old_mod As String, new_mod As String
oldRow = 2
Do While Trim(Sheets("Old Data").Range("C" & oldRow)) <> ""
newRow = 2
old_id = Trim(Sheets("Old Data").Range("C" & oldRow))
Do While Trim(Sheets("New Data").Range("c" & newRow)) <> ""
new_id = Trim(Sheets("New Data").Range("c" & newRow))
'is new id the same as old id
'if yes - we have a match, but now we want to compare the modified
'if modified is a match, then we don't need to do anythying
'if modified is not a match, we need to figure out what was changed
'if no - then lets just go to the next line
newRow = newRow + 1
Loop
oldRow = oldRow + 1
Loop'
答案 0 :(得分:0)
@floppityflip
如果你想从另一个工作表中的一个工作表中搜索某些东西(因为我想它们的顺序不完全相同),你可以使用find函数,并把它放到一个循环中。
像这样:
Sub Find()
'
' Find Macro
'
'
Dim i As Integer
i = 1
Dim comparingVariable As String
Do
Sheets("Sheet1").Select 'YOUR FIRST SHEET
Range("A" & i).Select
comparingVariable = ActiveCell 'SET VARIABLE EQUAL TO ACTIVE CELL
Sheets("Sheet2").Select
On Error Resume Next 'IN CASE YOU DON'T FIND WHAT YOU'RE LOOKING FOR
Cells.Find(What:=comparingVariable, After:=ActiveCell, LookIn:=xlFormulas, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False, SearchFormat:=False).Activate 'PUT VARIABLE INTO FIND FUNCTION
If Err.Number <> 0 Then 'IF THERE WAS AN ERROR (WASN'T FOUND) HILIGHT CELL RED IN SHEET 1
Sheets("Sheet1").Select
ActiveCell.Interior.ColorIndex = 3
End If
i = i + 1 'ADDING TO ITERATOR
Loop Until ActiveCell = ""
Sheets("Sheet1").Select
End Sub
将此数据添加到Excel文档,然后使用我在excel宏中发布的代码:
表1: 1 2 3 4 450 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
Sheet 2中: 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 五 4 3 2 1
-Sheet 1有1 - 25按升序排列,而表2有1 - 25按降序排列,除了我在那里添加450以检查它是否捕获了它找不到的东西。
- 根据代码,如果在sheet2中找不到sheet1上的数字,那么这个数字将是红色的(我认为应该澄清)。
希望这有帮助!