ここから本文です

解決済みのQ&A

VBAのユーザーフォームについて。

capslockshiftctrl954さん

VBAのユーザーフォームについて。

現在、顧客名簿をエクセルのVBAで管理をしています。
その際、エクセルに打ち込んである行をクリックすると、ユーザーフォームが
出現し、行に入力されている全てを顧客データとして、
一覧で表示させるVBAを作成したいのですが、
どのようなプロシージャを作成すればいいのかわかりません。

VBAの本を購入し、コードも勉強していますが、
現段階では本を見ながら、独自のVBAを作成する段階まで至っていません。

教えていただければ助かります。


セルには顧客名、住所、電話番号、購入履歴などを入力しています。

違反報告

ベストアンサーに選ばれた回答

ruta_aj0104さん

サンプルを示しておきますので、コードの記述場所や意味は調べてみてください。

シート名:Sheet1
フォーム名:UserForm1
ラベル名:Label1~4

【Sheet1のイベントプロシージャーに記述】
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error Resume Next 'エラー無効
'A1:D11にアクティブセルが無い場合は終了
If Intersect(Target, Range("A1:D11")) Is Nothing Then Exit Sub

myRow = Target.Row 'アクティブセルの行数を取得
Unload UserForm1 'フォームを閉じる
UserForm1.Show 0 'フォームを開く(vbModelessモード)
End Sub

【標準モジュールに記述】
'フォームに渡す変数
Public myRow As Long

【UserForm1のプロシージャーに記述】
Private Sub UserForm_Initialize()
With Sheets("Sheet1")
Label1.Caption = .Cells(myRow, 1).Value
Label2.Caption = .Cells(myRow, 2).Value
Label3.Caption = .Cells(myRow, 3).Value
Label4.Caption = .Cells(myRow, 4).Value
End With
End Sub

とりあえずは、自分なりにコードを作成してみて、うまくいかない部分のアドバイスをもらった方が良いと思います。
1問1答的な感じで質問すると、的確な回答が得られやすいですよ。
がんばってください。

投稿画像

  • 回答日時:2011/3/2 11:54:26

質問した人からのコメント

  • 詳しくご丁寧にありがとうございました。
    感謝致します。
  • コメント日時:2011/3/9 12:16:12

グレード

このQ&Aはまだナイス!されていません。
役に立ったと思った回答に、ナイス!してみよう!

ベストアンサー以外の回答

(2件中1〜2件)

並べ替え:回答日時の
新しい順
古い順

 

siogetusiさん

項目が少ない場合は、組み込みのフォームを使う方法もあります。

顧客名 住所 電話番号 購入履歴 といったラベルをシートに作成し、フォームを表示させると、下図のように表示されます。
項目間をTabで移動し、新規でEnterを押すと1行データが書き込まれます。簡単な検索もできます。

フォームの表示の仕方

2003までは、データ → フォーム

2007以降
クイックアクセスツールバーのカスタマイズ → その他のコマンド → すべてのコマンド → フォーム
をクイックアクセスツールバーに追加します。

投稿画像

  • 回答日時:2011/3/2 10:24:10

ta_bo_722さん

この説明で丸投げはどうかと思いますよ・・・。
とりあえず自分で作ってみてわからないところを部分的に聞きましょう。

今、誰かにコードを載せてもらっても自分で改良できないと意味がありません。
もう少し勉強を進めるか、手探りでいいのですこしずつ自分のちからで
作ってみてください。

  • 回答日時:2011/3/2 10:18:58

あなたにおすすめの解決済みの質問

VBAのプロシージャってなんですか?単に関数の呼び方を、VBAでは、プロシージャって呼んでるだけですか...
ExcelVBA 超初心者です。練習問題をやっています。 FOM出版のテキストを使って勉強を始め、変数のところ...
エクセル VBAVBAファイルを作成しているのですが処理量が多すぎるためファイルのサイズが多きくなりVBA...

あなたにおすすめの知恵ノート

エクセルマクロをユーザーフォームのボタンで実行する
<初心者向け>マクロの実行方法<VBA>
エクセルで、同じ文字を複数のセルに一括入力!

知恵コレに追加する

閉じる

知恵コレクションをするID/ニックネームを選択し、「追加する」ボタンを押してください。
※知恵コレクションに追加された質問や知恵ノートは選択されたID/ニックネームのMy知恵袋で確認できます。

ほかのID/ニックネームで利用登録する