VBAマクロを自動作成する無料アプリ

VBAコードの知識不要😊ChatGPTで機能を追加

MENU

【ノーコード】条件に一致しないデータを転記

エクセルVBAマクロを自動作成する無料アプリです。

例として「条件に一致しないデータを転記」するVBAマクロを作成します。

 

なお、値が一致したら転記のパターンは下記があります😊

パターンを見る

値が一致したら、1行すべてを転記する|連想配列|連想配列

値が一致しなければ、1行すべてを転記する|連想配列

値が一致したら、値の横にデータを転記する|連想配列

値が一致したら、値の横で既存データは上書き、新規データは追加|連想配列

値が部分一致したら、データを転記する|フィルター

複数項目を、それぞれ異なる条件で転記する|フィルターオプション

 

事例  リストと入金を比較し、未入金を転記する 

転記できました😊

複雑な除外する条件を設定できる「フィルターオプション」はこちら

アプリの設定

アプリの設定です。

アプリのトップページ 

 ⇒▼転記・上書き・新規追加・比較

 ⇒【ツール】データから、条件に一致しないデータの抽出する

 

表示されるVBAコード 

アプリで作成されたコードを、VBE画面に貼り付ければ、マクロの完成です。

 

VBAコードを見る

Sub デモ() 'データから、条件に一致しないデータの抽出する
 
Application.ScreenUpdating = False ' 画面描画を停止
Application.DisplayAlerts = False  ' 警告表示を停止
 
'辞書オブジェクトの作成
    Dim 辞書1 As Object
    Set 辞書1 = CreateObject("Scripting.Dictionary")
'除外する表を決定
    Sheets("Sheet1").Select
    Dim 最終行 As Long, 対象セル As Range
    最終行 = Cells(Rows.Count, Range("e4").Column).End(xlUp).Row
    Set 対象セル = Range("e4" & ":" & Cells(最終行, Range("f4").Column).Address(False, False))
'辞書1の作成
    Dim key1 As Variant, 行1 As Range
    For Each 行1 In 対象セル.Rows
        key1 = 行1.Cells(1, 1) & "|" & 行1.Cells(1, 2)
        If 辞書1.Exists(key1) Then
        Else
            辞書1(key1) = ""
        End If
    Next
'データ表を決定
    Sheets("Sheet1").Select
    Dim 最終行2 As Long
    最終行2 = Cells(Rows.Count, Range("a4").Column).End(xlUp).Row
    Set 対象セル = Range("a4" & ":" & Cells(最終行2, Range("c4").Column).Address(False, False))
'辞書1にkey2
    Dim key2 As Variant, 行2 As Range
    For Each 行2 In 対象セル.Rows
        key2 = 行2.Cells(1, 1) & "|" & 行2.Cells(1, 2)
        '辞書1にkey2が無い
        If Not 辞書1.Exists(key2) Then
            行2.Copy Destination:=Sheets("Sheet1").Cells(Rows.Count, Range("h4").Column).End(xlUp).Offset(1, 0)
        End If
    Next
'Application.ScreenUpdatingとApplication.DisplayAlertsをTrueに戻す
    Application.ScreenUpdating = True
    Application.DisplayAlerts = True
End Sub

 

ChatGPTで修正

あなたが自動化したい内容と事例が少し異なる場合は、無料で使えるマイクロソフトの「BingAIチャット」でコードを修正します。とても簡単です!

アプリはこちらから↓↓↓↓