フォルダー内に、同じシート名 (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アプリケーションを作成し、電子メールを読み書きすることができます