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

エクセルのマクロの質問です。来店客の購入履歴を「来店記録」、会員登録してもらった顧客情報を「顧客名簿」というファイルに記録しています。
現在は相互に関連付けられていないのでデータを有効的に活用できていません。これをマクロによって作業の簡略化、データの有効活用を行いたいと考えています。
まず顧客が購入すると会員番号を「来店記録」書き留めます。この会員番号を「顧客名簿」で検索し、該当する顧客の旧会員番号、会員資格、名前、フリガナを「来店記録」に転記するマクロを作りたいと思います。
データを記録するのはエクセルの知識がほとんどない販売スタッフです。データベースソフトを使えればよいのですが以前導入に失敗しました。現行作業をあまり変えることなく行うのが今回の方針です。
マクロの知識が浅いため、解決方法そのものを教えていただければうれしいです。もしそのまま使える完全なコードややり方を回答していただいた回答者の方には500ポイントを差し上げます。よろしくお願いいたします。
※文字制限のため「来店記録」、「顧客名簿」のサンプルデータ、仕様の詳細はこの下にある「この質問・回答へのコメント」に記載いたします。

●質問者: icta
●カテゴリ:コンピュータ
✍キーワード:ほと エクセル コメント コード スタッフ
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● SALINGER
●500ポイント ベストアンサー

コメントでも少し書きましたが、検索方法で顧客名簿の項目を検索しているので

顧客名簿の列はA列から始まっていない場合を考慮して仕様に忠実にマクロを作ってみました。

ただし、来店記録はA列から始まっているとします。

Sub MacroSerch()
 If Selection.Value = "" Then Exit Sub
 Dim kensaku_keyword As String
 Dim kensaku_retsu As String
 Dim c As Integer
 Dim obj As Range
 Dim i As Integer
 
 With Worksheets("来店記録")
 kensaku_keyword = moji(Selection.Value)
 kensaku_retsu = .Cells(1, Selection.Column).Value
 
 Set obj = Worksheets("顧客名簿").Columns(retu(kensaku_retsu)).Find(kensaku_keyword _
 , , xlValues, xlWhole, xlByColumns, xlNext, True, True)
 If obj Is Nothing Then
 MsgBox "該当する顧客が見つかりません。名前、フリガナ等で検索してみてください"
 Else
 For i = 2 To 6
 .Cells(Selection.Row, i).Value = Worksheets("顧客名簿").Cells(obj.Row, _
 retu(.Cells(1, i).Value)).Value
 Next i
 .Cells(Selection.Row, 7).Value = Date
 End If
 End With
End Sub

'文字列に*を入れる
Function moji(st As String) As String
 Dim i As Integer
 Dim str As String
 str = "*"
 For i = 1 To Len(st)
 str = str & Trim(Mid(st, i, 1)) & "*"
 Next i
 moji = str
End Function

'項目が顧客名簿のどの列かを返す
Function retu(st As String) As Integer
 Dim c As Integer
 c = 1
 While Worksheets("顧客名簿").Cells(1, c).Value <> st
 c = c + 1
 Wend
 retu = c
End Function
◎質問者からの返答

>SALINGERさん

いつもありがとうございます。

教えていただいたコードで希望通りの動作を確認しました。

本当にありがとうございます。

新しい質問をhttp://q.hatena.ne.jp/1210860623へ投稿しました。

またご協力いただければ大変うれしいです。

関連質問


●質問をもっと探す●



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