エクセルVBAであるキーワードを検索したセルの隣のセルの値を調べるユーザー定義関数
未読分:2件
昨日以降(0) 2日前以降(0) 3日前以降(0) 4日前以降(0) 5日前以降(0)
近田 伸矢, 植木 悠二, 上田 寛
IEのデータ収集&自動操作のプログラミング本はこの1冊だけ!IEの起動やポップアップウィンドウ、表示を制御する基本的なコードはもちろん、テキストボックスやラジオボタン、表、ハイパーリンクなどのHTML部品を制御する方法など、自動操作に欠かせないノウハウを丁寧に解説。
Message#2 2015年2月6日(金)21時06分 From: ユーザー定義関数 | 返事 削除 変更 |
コレクションとオブジェクトの違いがあまり分からないのではないですか? ところどころ間違いがありますね。 あとコレクションに対してのプロパティとオブジェクトに対してのプロパティは違うのでその辺も基礎を学んだほうがいいですね。 一応対応した形が以下になります。 こちらを元にがんばってください。 Function dublesearch(words1 As String, words2 As String) As Variant Dim row As Range Dim cell As Range For Each cell In Sheets("特定のシート").Columns(1).cells If cell = words2 Then Exit For End If Next cell set row = Sheets("特定のシート").Rows(cell.Row) For Each cell In row.cells If cell = words1 Then Exit For End If Next cell dublesearch = cell.Offset(0, 2) End Function |
Message#1 2015年2月6日(金)20時59分 From: ada51 | 返事 削除 変更 |
エクセルVBAであるキーワードを検索したセルの隣のセルの値を調べるユーザー定義関数を作成しようと思っています。 検索は行単位で行いその中に該当するキーワードがあった場合はそのセルを取得し、 その行内で更に検索を行い特定のキーワードを探るといった内容です。 一応こちらで試しにVBAで作成してみたのですが、なかなかうまくいきません。 どのようにすればよろしいでしょうか? Function dublesearch(words1 As String, words2 As String) As Variant Dim row As Range Dim cell As Range For Each cell In Sheets("特定のシート").Columns(1) If cell = words2 Then Exit For End If Next cell row = cell.row For Each cell In row If cell = words1 Then Exit For End If Next cell dublesearch= cell.Offset(0, 2) End Function |
昨日以降 2日前以降 3日前以降 4日前以降 5日前以降