2018.05.02皆様こんにちは、ノグチです。前回の記事から、複数のループを使って処理していた、リストの重複排除を、下記3ステップでDictionaryオブジェクトを使ったコードに置き換えていく方法をご紹介しています。上記3ステップのうち、1.Dictionaryオブジェクトにキーと要素を追加するは、前回記事にてDictionaryオブジェクトのAddメソッドを使ってDictionaryオブジェクトにキーと要素を追加する方法としてご紹介しました。【エクセルVBA】AddメソッドでDictionaryオブジェクトにキーと要素を追加する方法エクセルVBAのDictionaryオブジェクトを使った、リストの重複を排除する方法を連載でご紹介しています。今回は、Dictionaryオブジェクトにキーと要素を追加するAddメソッドのご紹介です。tonari-it.com2018.04.24今回はステップ2の、対象のレコードがDictionaryオブジェクトに存在するかをチェックするについてご紹介していきます。要素が存在しているかを判定するExistsメソッドExistsメソッドの使用例Existsメソッドを使用した条件分岐Dictionaryに存在していない場合にキーを追加する最後に連載目次:エクセルVBAのDictionaryオブジェクトでリストの重複を排除する要素が存在しているかを判定するExistsメソッド対象レコードがDictionaryオブジェクトにすでに存在しているかどうかをチェックするには、DictionaryオブジェクトのExistsメソッドを使います。Existメソッドは、指定した値がDictionaryオブジェクトに格納されているか?をチェックしてくれるメソッドです。(キー)これで、Dictionaryに存在するかチェックしたいキーに指定した値が、すでにDictionaryオブジェクトに存在していればTrue、存在していなければFalseを返り値として返してくれます。Existsメソッドの使用例ではこのExistsメソッドを使って、指定したキーがDictionaryオブジェクトに存在しているかを判定し、存在しないときに要素を追加する処理を作成してみましょう。前回記事でご紹介したDictionaryオブジェクトにキーと要素を追加するコードを元にします。SubExistsメソッドを使用した条件分岐Existsメソッドの返り値はTrueかFalseです。以下のようにIf文の中でExistsメソッドを使用して処理を分岐させることができます。"「鉛筆」は登録済みです。"「鉛筆」は登録済みです。IfDictionaryに存在していない場合にキーを追加するこの条件分岐を利用して、Dictionaryオブジェクトにキーが存在していないときだけ追加をするコードは以下のようになります。"鉛筆は登録済みです。"鉛筆は登録済みです。Subこれで、Existsメソッドで、「鉛筆」というキーがDictionaryオブジェクトに存在しているかチェックExistsメソッドの返り値がFalseだったら(=キーに存在していなかったら)、AddメソッドでDictionaryオブジェクトにキーを追加という処理にできました。重複があったら、Dictionaryオブジェクトには登録しない、つまり、重複が排除できるということですね。最後に今回は、DictionaryメソッドのExistsメソッドを使って、Dictionaryオブジェクトに指定した値がキーとして存在しているか?の重複チェックをする方法をご紹介しました。ちなみに、Existsの最後にあるsは忘れないようにしてくださいね。筆者はこの最後のsを入力しないというスペルミスにより、コンパイルが通らずに悩んだことがあります。そもそもVBEの入力支援に頼ればこんなことにはならないで済んだんですがね...次回は、複数のループを使ってリストの重複排除をしているコードを、Dictionaryオブジェクトと、前回、今回の記事でご紹介したメソッドを使ったコードに置き換えていきます。【エクセルVBA】Dictionaryオブジェクトを使ったリストの重複排除プログラム複数のループ文で書かれた重複排除処理のコードを、これまで複数回にわけでご紹介してきた、Dictionaryオブジェクトと各メソッド、プロパティを使ったコードに置き換えていきます。これなら複数ループでネストが深くなってしまったり、ゴチャゴチャしてしまうコードともオサラバ!...かも?tonari-it.com2018.05.07それでは、最後までお読みいただきありがとうございました!連載目次:エクセルVBAのDictionaryオブジェクトでリストの重複を排除するエクセルVBAでリストの重複を排除する方法として、Dictionaryオブジェクトを使った重複排除の方法をご紹介しています。投稿者プロフィールノグチフリーランスPG・SE元製造子会社SE。業務システム保守・導入両方やった経験をお伝えすることで、少しでもシステムや手作業に悩まされる人が減ればいいなぁと日々夢見ております。「コミュニティ+講座」形式で継続性&教え合える環境も提供。!ノンプログラマーがプログラミングスキルを身に着ける支援ををするコミュニティ。セミナー・もくもく会・Facebookグループのサポートで「自らで学び続ける力をつける」支援、「教え合うことで学びの価値を上げる」場の提供をしています。【エクセルVBA入門】フォルダやファイルを操作するFileSystemオブジェクトとその使い方エクセルVBAでバラバラの経費精算書をデータベースに集めるマクロの作り方をお伝えしています。今回はエクセルVBAでフォルダやファイルを操作するFileSystemオブジェクトとその使い方についてです。【エクセルVBA】コマンドボタンのClickイベントでワークシートを更新してみようエクセルのユーザーフォームを作って使ってみるまで、を目標にした連載記事です。今回は、エクセルのユーザーフォーム上に入力した値で、ワークシート上のリストを更新・追加する方法をご紹介しています。ユーザーフォームを使ってマスタ管理ツールなどを作りたい場合に、使える方法ですよ。【エクセルVBA】AddメソッドでDictionaryオブジェクトにキーと要素を追加する方法エクセルVBAのDictionaryオブジェクトを使った、リストの重複を排除する方法を連載でご紹介しています。今回は、Dictionaryオブジェクトにキーと要素を追加するAddメソッドのご紹介です。APIを使って外部プログラムを呼び出すために、Declareステートメントをはじめとした基本をご紹介しています。APIを使って外部のプログラムや機能と組みわせることで、さらに便利なツールが作れてしまうかも?!2017.11.23Excel・VBA活用術エクセルVBAでHTTPリクエストをする最も簡単なプログラム今回はエクセルVBAでHTTPリクエストをする最も簡単なプログラムをお伝えします。HTTP通信、リクエストやレスポンスとは何か、またリクエストを送信して取り出すまでに必要なメソッドやプロパティを紹介します。2017.11.25Excel・VBA活用術エクセルVBAで印刷範囲の設定をする方法とクリアをする方法エクセルVBAでPDF出力や印刷をする際の様々なテクニックをお伝えしています。今回はPageSetupオブジェクトで印刷範囲の設定する方法と印刷範囲のクリアをする方法です。範囲は文字列で指定しますよ。「コミュニティ+講座」形式で継続性&教え合える環境も提供。詳細・お申込はこちら隣ITを応援する当ブログを「応援したい!」「役に立ったよ!」というお気持ちを、コチラからお支払いただくことができます。日々更新の活力倍増いたします。※PayPalアカウントが必要です。※金額は変更可能です。Platform23HTML・CSS32iPhone・アプリ29Monaca・スマホアプリ開発7PC全般・Windows86PowerPoint・VBA28Python87RPA1VBScript15Vue.js・JavaScript13WEBサービス・クラウド68WordPress・ブログ88Word・VBA42コミュニティ・イベント108セミナーのお知らせ11チャットワーク72データ分析・アクセス解析40仕事・生産性・働き方73動画配信8商業出版21起業・フリーランス72電子書籍・Kindle3運営会社プランノーツは"IT×働き方改革"をお手伝いする会社です。「コミュニティ+講座」形式で継続性&教え合える環境も提供。詳細・お申込はこちら隣ITを応援する当ブログを「応援したい!」「役に立ったよ!」というお気持ちを、コチラからお支払いただくことができます。日々更新の活力倍増いたします。※PayPalアカウントが必要です。※金額は変更可能です。Platform23HTML・CSS32iPhone・アプリ29Monaca・スマホアプリ開発7PC全般・Windows86PowerPoint・VBA28Python87RPA1VBScript15Vue.js・JavaScript13WEBサービス・クラウド68WordPress・ブログ88Word・VBA42コミュニティ・イベント108セミナーのお知らせ11チャットワーク72データ分析・アクセス解析40仕事・生産性・働き方73動画配信8商業出版21起業・フリーランス72電子書籍・Kindle3運営会社プランノーツは"IT×働き方改革"をお手伝いする会社です。RowSourceプロパティとAddItemメソッド2020.01.21GASでGoogleスライドのSlideオブジェクトの概要とその取得方法2020.01.162020.01.24Facebookページいつも隣にitのお仕事タイトルとURLをコピーしました。