質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.37%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Q&A

解決済

2回答

747閲覧

VBAで検索の絞り方を教えてください

GKHHKJ

総合スコア39

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

0グッド

0クリップ

投稿2021/06/17 08:48

'組織図'シートから'部'署を検索して'Sheet1'に転記するマクロを組んだのですが、
部長)田中太郎 部付)山田花子 のような関係ないセルまで引っ張ってきてしまい、
困っております。

「部長」「部付」を除外して検索する方法、
部署のセルは上下左右実線の罫線で囲まれているため、
それらのみに絞って検索する方法、
「部長」「部長」の行を後から削除する方法などあれば、
教えて頂けないでしょうか。

Sub 部検索()

Dim SearchRange As Range '検索範囲格納 Dim ResultRange As Range '検索結果格納 Dim StartRange As Range '検索行格納 Dim KeyItem As String Dim MsgStr As String Dim i As Long i = 1 Set SearchRange = Worksheets("組織図").Range("A:Z") '検索したいデータ範囲 KeyItem = "部" Set ResultRange = SearchRange.Find(KeyItem, LookAt:=xlPart) If Not ResultRange Is Nothing Then Set StartRange = ResultRange '最初に見つかったセルを格納しておく Do ResultRange.Copy Worksheets("Sheet1").Cells(i, "A") Application.CutCopyMode = False i = i + 1 Set ResultRange = SearchRange.FindNext(After:=ResultRange) '次の検索セルを指定する If ResultRange.Address = StartRange.Address Then '見つかったセルが最初のセルか判定 Exit Do '同じ場合はループを離脱 End If Loop While StartRange <> ResultRange

End If

End Sub

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

実際にどんなシートか分かりにくいので最も簡単な方法を。
「部長」や「部付」がを除外したいのであれば検索後のセルの値を見るのが手っ取り早いです。

VBA

1If InStr(ResultRange.Value, "部長") = 0 And InStr(ResultRange.Value, "部付") = 0 Then 2 '該当したセルの値に"部長"or"部付"が含まれていない場合に転記する 3 ResultRange.Copy Worksheets("Sheet1").Cells(i, "A") 4 Application.CutCopyMode = False 5 i = i + 1 6End If

投稿2021/06/17 09:56

neconekocat

総合スコア443

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

GKHHKJ

2021/06/18 01:14

こちらもできました!ありがとうございました。
guest

0

もし「営業部」「総務部」のような最後が「部」で終わるセルを探すのであれば、

VBA

1KeyItem = "*部" 2Set ResultRange = SearchRange.Find(KeyItem, LookAt:=xlWhole)

みたいにするのがよいのでは。

投稿2021/06/17 11:15

jinoji

総合スコア4592

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

GKHHKJ

2021/06/18 01:14

できました!ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.37%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問