Note: The other languages of the website are Google-translated. Back to English

Excelで日付に基づいて行をコピーして別のシートに貼り付ける方法は? 

ある範囲のデータがあるとすると、特定の日付に基づいて行全体をコピーしてから、別のシートに貼り付けたいと思います。 Excelでこの仕事に対処するための良いアイデアはありますか?

行をコピーして、今日の日付に基づいて別のシートに貼り付けます

日付が今日よりも大きい場合は、行をコピーして別のシートに貼り付けます


行をコピーして、今日の日付に基づいて別のシートに貼り付けます

日付が今日の場合に行をコピーする必要がある場合は、次のVBAコードを適用してください。

1。 を押し続けます Alt + F11 キーを押して アプリケーション向け Microsoft Visual Basic 窓。

2に設定します。 OK をクリックします。 インセット > モジュール、モジュールウィンドウに次のコードを貼り付けます。

VBAコード:今日の日付に基づいて行をコピーして貼り付けます。

Sub CopyRow()
'Updateby Extendoffice
    Dim xRgS As Range, xRgD As Range, xCell As Range
    Dim I As Long, xCol As Long, J As Long
    Dim xVal As Variant
    On Error Resume Next
    Set xRgS = Application.InputBox("Please select the date column:", "KuTools For Excel", Selection.Address, , , , , 8)
    If xRgS Is Nothing Then Exit Sub
    Set xRgD = Application.InputBox("Please select a destination cell:", "KuTools For Excel", , , , , , 8)
    If xRgD Is Nothing Then Exit Sub
    xCol = xRgS.Rows.Count
    Set xRgS = xRgS(1)
    Application.CutCopyMode = False
    J = 0
    For I = 1 To xCol
        Set xCell = xRgS.Offset(I - 1, 0)
        xVal = xCell.Value
        If TypeName(xVal) = "Date" And (xVal <> "") And (xVal = Date) Then
            xCell.EntireRow.Copy xRgD.Offset(J, 0)
            J = J + 1
        End If
    Next
    Application.CutCopyMode = True
End Sub

3。 上記のコードを貼り付けた後、を押してください F5 このコードを実行するためのキーを押すと、行をコピーする日付列を選択するように促すプロンプトボックスが表示されます。スクリーンショットを参照してください。

4。 次に、をクリックします OK ボタンをクリックし、別のプロンプトボックスで、結果を出力する別のシートのセルを選択します。スクリーンショットを参照してください。

5。 そして、 OK ボタンをクリックすると、今日の日付の行が新しいシートに一度に貼り付けられます。スクリーンショットを参照してください。


日付が今日よりも大きい場合は、行をコピーして別のシートに貼り付けます

日付が今日以降の行をコピーして貼り付けるには、たとえば、日付が今日から5日以上の場合は、行をコピーして別のシートに貼り付けます。

次のVBAコードはあなたに有利かもしれません:

1。 を押し続けます Alt + F11 キーを押して アプリケーション向け Microsoft Visual Basic 窓。

2に設定します。 OK をクリックします。 インセット > モジュール、モジュールウィンドウに次のコードを貼り付けます。

VBAコード:日付が今日よりも大きい場合は、行をコピーして貼り付けます。

Sub CopyRow()
'Updateby Extentoffice
    Dim xRgS As Range, xRgD As Range, xCell As Range
    Dim I As Long, xCol As Long, J As Long
    Dim xVal As Variant
    On Error Resume Next
    Set xRgS = Application.InputBox("Please select the date column:", "KuTools For Excel", Selection.Address, , , , , 8)
    If xRgS Is Nothing Then Exit Sub
    Set xRgD = Application.InputBox("Please select a destination cell:", "KuTools For Excel", , , , , , 8)
    If xRgD Is Nothing Then Exit Sub
    xCol = xRgS.Rows.Count
    Set xRgS = xRgS(1)
    Application.CutCopyMode = False
    J = 0
    For I = 1 To xCol
        Set xCell = xRgS.Offset(I - 1, 0)
        xVal = xCell.Value
        If TypeName(xVal) = "Date" And (xVal <> "") And (xVal >= Date And (xVal < Date + 5)) Then
            xCell.EntireRow.Copy xRgD.Offset(J, 0)
            J = J + 1
        End If
    Next
    Application.CutCopyMode = True
End Sub

注意:上記のコードでは、今日より少ない日数や必要に応じて日数などの基準を変更できます。 If TypeName(xVal)= "Date" And(xVal <> "")And(xVal> = Date And(xVal <Date + 5))Then スクリプトコード。

3。 次に、 F5 このコードを実行するためのキー。プロンプトボックスで、使用するデータ列を選択してください。スクリーンショットを参照してください。

4。 次に、をクリックします OK ボタンをクリックし、別のプロンプトボックスで、結果を出力する別のシートのセルを選択します。スクリーンショットを参照してください。

5。 クリック OK ボタンをクリックすると、次のスクリーンショットに示すように、日付が今日から5日以上の行がコピーされ、新しいシートに貼り付けられます。


最高のオフィス生産性ツール

Kutools for Excelはほとんどの問題を解決し、生産性を80%向上させます

  • 再利用: すばやく挿入 複雑な数式、チャート および以前に使用したものすべて。 セルを暗号化する パスワード付き。 メーリングリストを作成する そしてメールを送る...
  • スーパーフォーミュラバー (複数行のテキストと数式を簡単に編集できます); 読書レイアウト (多数のセルを簡単に読み取って編集する); フィルター範囲に貼り付け...
  • セル/行/列をマージする データを失うことなく; 分割セルコンテンツ; 重複する行/列を組み合わせる...重複セルを防止します。 範囲を比較する...
  • [複製]または[一意]を選択します 行; 空白行を選択 (すべてのセルは空です); スーパーファインドとファジーファインド 多くのワークブックで; ランダム選択...
  • 正確なコピー 数式参照を変更せずに複数のセル。 参照の自動作成 複数のシートに; 箇条書きを挿入、チェックボックスなど...
  • テキストを抽出、テキストの追加、位置による削除、 スペースを削除する; ページング小計の作成と印刷。 セルの内容とコメントを変換する...
  • スーパーフィルター (フィルタースキームを保存して他のシートに適用します); 高度な並べ替え 月/週/日、頻度など。 特殊フィルター 太字、斜体...
  • ワークブックとワークシートを組み合わせる; キー列に基づいてテーブルをマージします。 データを複数のシートに分割; xls、xlsx、PDFをバッチ変換...
  • 300 以上の強力な機能. Office / Excel 2007-2021 および 365 をサポートします。すべての言語をサポートします。 企業や組織に簡単に導入できます。 フル機能の 30 日間無料トライアル。 60日間の返金保証。
kteタブ201905

Officeタブは、タブ付きのインターフェイスをOfficeにもたらし、作​​業をはるかに簡単にします

  • Word、Excel、PowerPointでタブ付きの編集と読み取りを有効にする、パブリッシャー、アクセス、Visioおよびプロジェクト。
  • 新しいウィンドウではなく、同じウィンドウの新しいタブで複数のドキュメントを開いて作成します。
  • 生産性を 50% 向上させ、毎日何百回もマウス クリックを減らすことができます!
officetab下部
コメントを並べ替える
コメント (3)
まだ評価はありません。 最初に評価してください!
このコメントは、サイトのモデレーターによって最小化されました
日付が常にそれぞれの同じ列にある場合、ブック全体に対してこれを行うことは可能ですか? もしそうなら、VBAコードは何になりますか、またはどのビットを変更しますか?
このコメントは、サイトのモデレーターによって最小化されました
これについて返信がありましたか?
このコメントは、サイトのモデレーターによって最小化されました
こっちも一緒。 本当に答えが欲しいです!
すでにありがとう EXTENDOFFICe :D
ここにはまだコメントが投稿されていません
あなたのコメントを残す
ゲストとして投稿
×
この投稿を評価:
0   文字
推奨される場所

フォローする

著作権©の2009 - WWW。extendoffice.com。 | | 全著作権所有。 搭載 ExtendOffice。 | サイトマップ
MicrosoftおよびOfficeのロゴは、米国MicrosoftCorporationの米国およびその他の国における商標または登録商標です。
SectigoSSLで保護