• ベストアンサー

エクセルの関数で顧客管理データーベース

エクセルの関数で顧客管理データーベース (画像添付あります) 顧客管理で、関数を使いたいのですが、 一時保管の A3と、B3は常に、違う値が入ります。 そこで、それを、データーベース化したいのですが、 例えば、 A3、B3の値を、E3、F3に移して、 また、A3,B3を消去し、新しい値を入力し、それを次に、E4、F4に移したいのですが、 どうしたらよいでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
  • kmetu
  • ベストアンサー率41% (562/1346)
回答No.3

凄く単純なマクロだと、ボタンを作成して mRow = Range("E" & Rows.Count).End(xlUp).Row + 1 Range("E" & mRow).Value = Range("A3").Value Range("F" & mRow).Value = Range("B3").Value というのをそのボタンのマクロに登録すれば、ボタンを押したらデータが最終行(E列)に挿入されます。ただし、押した回数だけ挿入されていきます。 また、A3もしくはB3にデータを入力した後に即挿入することも出来ますが 間違ってエンターを押したときにもデータが挿入されますのでおすすめできません。 ところで、E行とF行に直接入力するのではダメなのでしょうか。

atk18
質問者

補足

できました!応用がいろいろ可能でしたので、助かりました。 回答していただいたみなさんもありがとうございます。 同じ作業が沢山あるので、自動が助かります!

その他の回答 (4)

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.5

こんばんは! すでに回答は色々出ていますので、 参考程度で目を通してみてください。 一つの案です。 ↓の画像のようにコマンドボタンを貼り付け、それをクリックするとマクロが実行される方法はどうでしょうか? まず、B3セルには =IF(A3="","",VLOOKUP(A3,Sheet2!A:B,2,0)) という数式を入れています。 そして、当方使用のExcel2003の場合ですが、 メニュー → 表示 → ツールバー → Visual Basic にチェックを入れ、 コントロールツールボックスから「コマンドボタン」を挿入します。 挿入したコマンドボタン上でダブルクリックし、白い画面に↓のコードを貼り付けてみてください。 Private Sub CommandButton1_Click() Cells(Rows.Count, 4).End(xlUp).Offset(1).Select Selection = Selection.Row - 2 With Selection .Offset(, 1) = Cells(3, 1) .Offset(, 2) = Cells(3, 2) End With End Sub (1行目と最後の行はすでに表示されているはずです) 画像のコマンドボタンはバックカラーとCaptionでコマンドボタンの見栄えを変えています。 これでコマンドボタンをクリックするたびにD~F列の最終行以下に表示されると思います。 以上、参考になればよいのですが・・・m(__)m

  • mar00
  • ベストアンサー率36% (158/430)
回答No.4

ボタンを作成して Sub TOUROKU() NAMAE = Range("A3") JYUSYO = Range("B3") GYOU = Cells(Rows.Count, 4).End(xlUp).Row + 1 If NAMAE <> "" Then Range("D" & GYOU) = GYOU - 2 Range("E" & GYOU) = NAMAE Range("F" & GYOU) = JYUSYO Range("A3:B3").ClearContents Range("A3").Select End If End Sub ボタンにマクロを登録 ボタンを押すと値が移るというのではダメでしょうか。 名前が入力されていれば値が移るようになっています。 (住所だけ移しても仕方ないと思いますので) 値が移った後にA3、B3は消去されます。 消去したくなければ Range("A3:B3").ClearContentsを消して下さい。

回答No.2

何の為に、そんなややこしい事をするのですか? E列及びF列に、直接データを入力すればすむ事ではないですか?

  • Cupper
  • ベストアンサー率32% (2123/6444)
回答No.1

関数では無理です。 マクロ(VBA:Visual Basic for Application)を使わなければできません。

関連するQ&A