0

フォルダー内に、同じシート名 (Book1、Book2、Book3、excel1、excel2、micorsoft など) の異なるシートを持つ異なるワークブックがあります。

行全体 (データが入力されたとき) を集計ワークブックに転送し、セル内の一致する値を使用する方法を作成したいと考えています。以下の例の表を参照してください。

以下の例に気付くと思いますが、ワークシート 1 を持つ Book1 があります (このワークシートとは別のワークシートもあります)。

今私の要件は、フォルダー内のすべてのワークブックから、マクロが実行されているワークブックに、一致するステータス列のセルまたはセル (例: NEW、研究) を含む行全体をコピーすることです。

この素晴らしいマクロを手伝ってくれる人がいたらお願いします。

ノート:

常にではありませんが、このデータは時々変更されるため、最新のデータで上書きし続ける必要があります。そこからデータを取得できるように、すべてを 1 つのワークブックに統合したいと考えています。これは簡単にできるものですか?いくつかのマクロで運を試してみましたが、うまくいかないようです。

ブック1

ワークシート1

column A    column B    column C        status  comment column D
                                        Update      
                                        New     
                                        Modified        
                                        New     
                                        New     
                                        Research        
                                        Research

私は幸運にも、1 冊の本で 1 つのシートから別のシートにコピーするコードを取得できました。コードは以下のとおりです。

コード:

Sub Foo()
Dim i As Long, iMatches As Long
Dim aTokens() As String: aTokens = Split("New,research", ",")
For Each cell In Sheets("Worrksheet1").Range("E:E")
    If (Len(cell.Value) = 0) Then Exit For
        For i = 0 To UBound(aTokens)
            If InStr(1, cell.Value, aTokens(i), vbTextCompare) Then
                iMatches = (iMatches + 1)
                Sheets("Worrksheet1").Rows(cell.Row).Copy Sheets("final").Rows(iMatches)
            End If
        Next
Next
End Sub

説明:

このコードは、列 E : E に NEW、research または any required に一致する単語を含むすべての行の内容を Worksheet1 シートから最終シートにコピーします。

ここで必要な変更は、フォルダー (ディレクトリへのパスを指定) 内の異なるワークブックから、同じフォルダーまたは異なるフォルダー内の単一のワークブックにコピーすることです。

以下のリンクのようにコピーを電子メールで送信するオプションがある場合は、 Excelスプレッドシートを読み書きするWindowsアプリケーションを作成し、電子メールを読み書きすることができます

4

1 に答える 1