No.3ベストアンサー
- 回答日時:
続けてお邪魔します。
>「株式会社」や「有限会社」がついている企業名だけでも・・・
というコトですので、一案です。
↓の画像のように別Sheet(今回はSheet2)のA列に除外する文字列を羅列しておきます。
その下準備ができた上でのコードになります。
今回は標準モジュールですので、
Alt+F11キー → メニュー → 挿入 → 標準モジュール → VBE画面のカーソルが点滅しているところに
↓のコードをコピー&ペーストし、No.1の方法でマクロを実行してみてください。
Sub Sample2() 'この行から//
Dim i As Long, k As Long
Dim myStr As String, c As Range, wS As Worksheet
Set wS = Worksheets("Sheet2")
Application.ScreenUpdating = False
With Worksheets("Sheet1")
.Range("C:C").Insert
.Range("A:A").Copy .Range("C1")
For k = 2 To wS.Cells(Rows.Count, "A").End(xlUp).Row
.Range("C:C").Replace what:=wS.Cells(k, "A"), replacement:="", lookat:=xlPart
Next k
For i = 2 To .Cells(Rows.Count, "C").End(xlUp).Row
Set c = .Range("E:E").Find(what:=Trim(.Cells(i, "C")), LookIn:=xlValues, lookat:=xlPart)
If Not c Is Nothing Then
.Cells(i, "B") = c.Offset(, 1)
End If
Next i
.Range("C:C").Delete
End With
Application.ScreenUpdating = True
End Sub 'この行まで//
※ Sheet2の除外する文字列はどんどん増やしても構いません。
※ 質問でアップされている配置でのコードです。
1行・1列でもずれた場合は意図しない動きになります。m(_ _)m
何度もご親切にありがとうございました。
難しいですが、来週、職場でやってみます。
画像もつけて頂き、とても、助かります。
本当にありがとうございました。
No.2
- 回答日時:
No.1です。
>仮にA列・D列の企業名をアルファベットにしましたが、
実際は日本語です。
ん~~~かなり厄介ですね。
前回のコードは各セルの文字を1文字ずつ舐めるように検索していき
アルファベットの場合のみ見つけ出し、D列からその文字が含まれるデータを検索しています。
Excel的にはどこからどこまでが企業名なのかを判断できませんので、こちらで指定したやる必要があります。
仮に「株式会社」や「有限会社」という文字以外で検索!というのであれば可能だと思います。
企業名によってもっと除外する語句があるのであれば、除外する「語句」を一覧にし、そのデータを対象に検索する!
という方法になるかと思いますが、
具体的な「語句」がこちらでは判断できないので、コードは記載できません。
※ 当然コードそのものは前回のものと全く異なってきます。m(_ _)m
No.1
- 回答日時:
こんばんは!
VBAになりますが一例です。
画面左下の操作したいSheet見出し上で右クリック → コードの表示 → VBE画面のカーソルが点滅しているところに
↓のコードをコピー&ペースト → Excel画面に戻り(VBE画面を閉じて)マクロを実行してみてください。
(Alt+F8キー → マクロ → マクロ実行です)
Sub Sample1() 'この行から//
Dim i As Long, k As Long, lastRow As Long
Dim str As String, myStr As String, c As Range
lastRow = Cells(Rows.Count, "A").End(xlUp).Row
Range(Cells(2, "B"), Cells(lastRow, "B")).ClearContents
For i = 2 To lastRow
For k = 1 To Len(Cells(i, "A"))
str = Mid(Cells(i, "A"), k, 1)
If str Like "[A-Za-z]" Then
myStr = myStr & str
End If
Next k
If Len(myStr) > 0 Then
Set c = Range("D:D").Find(what:=myStr, LookIn:=xlValues, lookat:=xlPart)
If Not c Is Nothing Then
Cells(i, "B") = c.Offset(, 1)
End If
End If
myStr = ""
Next i
End Sub 'この行まで//
※ A列・D列のアルファベットは半角という前提です。
※ 1セル内にアルファベットが飛び飛びに存在する場合は
お望み通りにならないと思います。
※ データ変更があるたびにマクロを実行する必要があります。m(_ _)m
ありがとうございます。
VBAになるのですね。
関数を使って色々、試してみましたが、さっぱりダメでした。
勉強不足で、VBAを理解できるレベルではありません。
仮にA列・D列の企業名をアルファベットにしましたが、
実際は日本語です。
どの部分を変更すれば宜しいでしょうか?
お手数をおかけいたします。
申し訳ございませんが、ご教導をお願い致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「段」と「行」の違いがよくわ...
-
列方向、行方向の定義
-
VBA 指定した列にある日時デー...
-
エクセルのソートで、数字より...
-
エクセルで最初の行や列を開け...
-
【マクロ】【VBA】条件付き書式...
-
Excelの行数、列数を増やしたい...
-
Excel 2007で複合グラフ(折線...
-
マクロで日付範囲指定してデー...
-
エクセルマクロPrivate Subを複...
-
エクセルマクロの組み方
-
結合セルを含んだ並べ替え VBA
-
エクセルマクロ 並び替え 手動...
-
エクセルVBAでデータ最終行取得...
-
エクセルで離れた列を選択して...
-
LEFT関数とIF関数の組み合わせ...
-
VLOOKUPの列番号の最大は?
-
VBA
-
エクセルマクロでオートフィル...
-
Accessのレポートで繰り返し表...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「段」と「行」の違いがよくわ...
-
エクセルで離れた列を選択して...
-
VLOOKUPの列番号の最大は?
-
LEFT関数とIF関数の組み合わせ...
-
Excelの行数、列数を増やしたい...
-
列方向、行方向の定義
-
VBA 指定した列にある日時デー...
-
エクセルマクロPrivate Subを複...
-
Excel文字列一括変換
-
エクセル マクロ 範囲指定で...
-
Alt+Shift+↑を一括で行うには、...
-
CSVファイルの「0落ち」にVBA
-
VBAで結合セルを転記する法を教...
-
エクセルで複数列の検索をマク...
-
リストからデータを紐付けしたい
-
横軸を日付・時間とするグラフ化
-
エクセルで最初の行や列を開け...
-
エクセルのソートで、数字より...
-
エクセルマクロの組み方
-
☆Excel VBAでAVERAGE関数を使う...
おすすめ情報
もう一度お願い致します。
”仮に「株式会社」や「有限会社」という文字以外で検索!というのであれば可能だと思います。”
と、教えて頂き、除外する語句というのか、個人名のみがあるので、あきらめかけたのですが、
「株式会社」や「有限会社」がついている企業名だけでも、番号を検索出来れば、後は手作業で調べます。
またまた、お手数をおかけいたしますが、コードを教えて頂けますでしょうか?
無理ばかりで申し訳ございません。