単二電池

ネット調べてみてるのですが、該当するものが見つからず困っています。是非ご協力ください。お願いします。
顧客リストがあり、それにフィルタをかけ、抽出結果を1件づつユーザーフォームで参照し、必要があれば1件づつに手を加えたい(タイムスタンプ等の入力)のですが、どこか解説の載っているサイトをご存じないでしょうか?
そもそも抽出結果を上から1件づつ見ていくユーザーフォームは作成できるのでしょうか?

A 回答 (2件)

エクセルのシートへの入力も、人間がセル位置を決めて、そこにデータを入力する。

付加して新項目データを入力する場合なら、同行に主項目(例えば氏名)データもみえている。ユーザーフォームでの入力と変わらない。それなのに(初心者には)難しことをなぜ考えるのか。
他人に使ってもらうもの(仕組み)を作るため、とかいう理由も過去質問にあったが、ここに質問しているようなレベルで、他人に使ってもらうようなプログラムを(それも仕事がらみの)作るのは危険である。
下記コードなどは、短くないが、データはチェックが出来てない。実際では必要だろう。
ーー
まずは既に回答の在る、データーユーザーフォームの利用がある。
ーー
それ以外はユーザーフォームの利用はVBAを使うことが前提だろう。
「アクセス」のようにテーブル(クエリ)と連結した、テキストボックスを自動で作れないようなので複雑化する。。
参考までに
例データ
Sheet1のデータ A1:D6
氏名住所年令車所有(現在空白、追加項目)
山田相模原市33
小島厚木市31
大田横浜市35
鈴木海老名市36
大木横須賀市36
ーー
車所有の情報を追加するのが主目的。
データの1行分を1行ずつ、ボタンクリックで(下に)すすめる。
車所有以外も変更・訂正してボタンをクリックすると、変更される。
ーー
VBE画面でー挿入ーユーザーフォーム
テキストボックス4つ、コマンドボタン1つ貼り付け。
フォーム 上に
   (テキストボックスの四角 空欄)  ←氏名表示用テキストボックス
   (テキストボックス 空欄)  ←住所表示用テキストボックス
   (テキストボックス 空欄)
   (テキストボックス 空欄)
        ■ <--コマンドボタン
普通は、テキストボックスの左には見だし(氏名など)をラベルで表示したりする(略)
ーー
コード
ユーザーフォームの「コードの表示」の
コマンドボタンのクリックイベントに
Private Sub CommandButton1_Click()
Static f
Static i
Static w
'ーーー
If f = "" Then ' 初回のみ
i = 1 '最初の表示第2行目から
w = 1 '表示モードから
GoTo p2 '最初は表示モードから
End If
p1:
'--更新モード
If f <> "" Then '初回はスキップ
If w = 0 Then '更新モードなら
Cells(i, "A") = TextBox1.Text
Cells(i, "B") = TextBox2.Text
Cells(i, "C") = TextBox3.Text
Cells(i, "D") = TextBox4.Text
w = 1 '次は表示モード
'--終わり判定
If i >= Range("A65536").End(xlUp).Row Then
MsgBox "終わり"
Exit Sub
End If
'---
End If
End If
'---
p2:
i = i + 1 '次行
w = 1 '次は表示モード
f = "n" '最初ではないに設定
If w = 1 Then '表示モードなら
'----
TextBox1.Text = Cells(i, "A")
TextBox2.Text = Cells(i, "B")
TextBox3.Text = Cells(i, "C")
TextBox4.Text = Cells(i, "D")
w = 0 '次は更新モード
End If
f = "n" '最初ではないに設定
End Sub
ーー
メニューの「実行ーSUB/ユーザーフォームの実行」で
ユーザーフォームが現れる。クリックすると、第2行目のデータが現れ、テキストボックスの中を、変更なりしてボタンをクリックすると、その状態でシートに保存され、次の行のデータがテキストボックス群に出てくる。
後戻りは出来るように考慮してない。
私は相当苦労したので、初心者には難しいと思う。
    • good
    • 0
この回答へのお礼

かなり複雑なことになってしまうのですね。
ちょっと手に負えるか解かりませんが、折角筋道たてていただいたのでチャレンジしてみます。
自分のためにこれ程ご尽力いただき、大変感激しております。
本当にどうもありがとうございました。
行き詰ったらまたお願いします。

お礼日時:2011/06/21 22:20

一例です。


表内の任意セルを選択→データ→フォームでお試しください。
因みに操作はエクセル2003以下ですので相違する場合は、web検索して下さい。
    • good
    • 0
この回答へのお礼

どうもありがとうございます。
自分もその手を考えていたのですが、フォームだと文字が途中で欠けてしまうんですよね 涙)

お礼日時:2011/06/21 22:23

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!