-1

そこで、Sharepoint カレンダーから Excel スプレッドシートにデータを取り込みます。SharePoint から新しいデータをインポートするたびに、Sharepoint が提供する一意の ID をループして、着信データから削除されたかどうかを確認する方法はありますか?

では、現在システムにあるデータに対して入ってくる新しいデータをチェックしますか?

私がしなければならないことは、データのインポート時にデータを「一時」スプレッドシートに保存し、ループを実行して一時シートのIDをデータシートに比較し、監査プロセスを処理してから更新することですデータシートに一時的に移動し、最後に一時シートを削除します。

2 つのワークシートの ID 列を確認する必要があります。ID がない場合は、残りの列から情報を取得し、そのレコードを別のスプレッドシートにエクスポートする必要があります

昨日まで VBA を使用したことがありませんでした。私はこのタスクを割り当てられました。これに関する Google のリソースはありません。私は何をする必要があるかを知っています。それを達成する方法ではありません。Cを比較する必要があります!in Data to C! 一時的に。データにセルがある場合、それは一時的なものではなく、その行全体を監査ワークシートにエクスポートする必要があります。

これに役立つコマンド/マクロを知っている人はいますか??

' 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'
4

1 に答える 1

0

@フロッピティフリップ

あるワークシートから別のワークシートで何かを検索したい場合は、検索機能を使用できます (それらはまったく同じ順序ではないと思うため)、それをループに入れます。


このような:

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

シート2: 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1


-シート 1 には 1 ~ 25 が昇順でリストされ、シート 2 には 1 ~ 25 が降順でリストされていますが、そこに 450 を追加して、見つからないものをキャッチするかどうかを確認しています。

- コードによると、シート 1 の番号がシート 2 に見つからない場合、その番号は赤で強調表示されます (明確にする必要があると思います)。

お役に立てれば!

于 2012-07-25T17:47:03.690 に答える