人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

エクセルVBAについて質問です。次のページにあるようなマクロを作ってください。
http://hatena88.web.fc2.com/hatena/
最初に正解された方に300ポイントを差し上げます。

なお、現在勉強中ですので、下記の質問の回答者4の方のような解説を付け加えていただくことを回答の条件とさせていただきます。
http://q.hatena.ne.jp/1158311664


●質問者: taroemon
●カテゴリ:コンピュータ
✍キーワード:VBA いただきます エクセル ポイント マクロ
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● umeyoshioka
●300ポイント

こんなところでしょうか。

Sub hatena()

'いちばん左のシート、つまりインデックスナンバー「1」のシートから、区分け用のテーブルをセット
Dim KUWAKE_TABLE As Range
Set KUWAKE_TABLE = Worksheets(1).Range("A1").CurrentRegion

'2枚目以降のシートに関して、vlookupワークシート関数を使ってデータのチェック
Dim i As Integer, tmpSht As Worksheet, tmpRng As Range, rowCursor As Integer, str As String, targetRng As Range
For i = 2 To Worksheets.Count
 'チェックする文字列が入力されている範囲を取得
 Set tmpSht = Worksheets(i)
 Set tmpRng = Range(tmpSht.Range("A1"), tmpSht.Range("A1").SpecialCells(xlLastCell))
 '範囲内の各行に対してチェック
 For rowCursor = 1 To tmpRng.Rows.Count
 '検索文字列作成
 str = Trim(tmpRng(rowCursor, 1).Value & tmpRng(rowCursor, 2).Value)
 'findメソッドで文字列が区分け用のテーブルにあるかどうかを判定。
 'ここはvlookup等でも、ループ処理で総当たりでも構わないです。
 Set targetRng = KUWAKE_TABLE.Find(str)
 '検索にヒットするセルがあった場合の処理
 If Not targetRng Is Nothing Then
 'C列に対応する文字列を転記
 tmpSht.Cells(rowCursor, 3).Value = targetRng.Offset(0, 1).Value
 End If
 Next
Next i

End Sub
◎質問者からの返答

ご回答ありがとうございます。

うまくいきました。完璧です。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ