No.4ベストアンサー
- 回答日時:
#1です。
データの持ち方がよくわかってないのですが
別シート等にコード、名前が載ってるってことなんでしょうかね?
上記の仮定でいくと
Worksheet_Change で Target が引数として渡されてまさうよね。
それをうまく使ってあげましょう。
入力したセルのひとつ横、に表示してあげればいいわけですから
現状、1ヶ所であればできる、と言っているコーディングがどのようなモノかわからないんですが
Range か Cells でセルを指定してますよね?
Cells で指定すると仮定して、
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then
表示したいデータの検索
Cells(Target.Row, 2) = 表示したいデータ
End If
End Sub
という感じではどうでしょう?
No.3
- 回答日時:
エクセルの問題です。
エクセルVB・VBAでも出来ますが(とくにアクセスの得意分野)エクセルの関数=VLOOKUP()を使います。まずSheet2のA列に番号、B列の同行に対応する名前を入力し表を作成します。Sheet1のA列に番号を入れるとして、B列のB1に
=VLOOKUP(A1,Sheet2!$A$1:$B$500,2,FALSE)
といれ、B2以下適当に下へ複写します。
A列に番号を入れるとB列に名前が出ます。
テスト済み。
A列に入力していないB列のエラー#N/Aを出さないことは出来ますが、略します。
回答ありがとうございました。
おっしゃる通りです。
ただ、VLOOKUP関数を使って出来るのは知っているんですが、あくまでもエクセルVBAでやりたいのです。
すみません…
でも、回答いただいて嬉しいです。
ありがとうございました。
No.2
- 回答日時:
500件近くあるデータとは、入力するデータ(行)が500件あるのでしょうか?それとも、コードが500種類あるのでしょうか?まあどちらにしろ、何度もデータベースに読みに行くのは時間がかかるので、最初にコードと名前を全部読み込んでおく方がいいと思います。
A列にコードを入力し終わったらマクロを実行して、データベースからコードを名前を取得。その後まず1行目A列を読んで、それにに対応する名前を1行目B列に表示させる、次に2行目・・とやっていって、最終行まで実行するという。
具体的なコーディングは、そのブックや表の構成など(空白行があるのかとか)も書いたほうが回答が得やすいと思いますよ。シートがいっぱいある場合、データベースから取得するタイミングも違ってくることもあると思います。
この回答への補足
質問内容が、わかりにくかったようで申し訳ありません。
私が作りたいのは、A列にコードを入力するたびにB列に名前を表示させる…ということなのです。
その表には、C列やD列(同行)にもデータをいくつか入力する表ですので、最後に表示するという形はとりたくないのです。
わかりづらい文章ですみません。よろしくお願いします。
No.1
- 回答日時:
Excelの方で質問したほうがいいように思いますが・・・それはいいとして。
データベースはなにをお使いなのでしょう?
> データが約500件近くあるので、出来れば列単位で設定する方法はないでしょうか?
Excelのシート関数ではなくて、VBAを使ってるんですよね?
設定というのが何を指しているのかわからないのですが。
a.A列に入力するたびにB列を表示させたい
b.A列を一通り入力し終えてから一気に表示させたい
a、b、またはもっと別の方法で実現したいのか・・・によって手段が変わってくると思いますが、
aであれば Worksheet_Change イベントで処理をすればいいと思います。
bならボタンを作るか、メニューからマクロの呼び出しをして動く関数を作ればいいと思われます。
質問の意味を取り違えていたらごめんなさい。(^-^;
この回答への補足
質問内容が、わかりにくかったようで申し訳ありません。
表示方法は、(a)です。
Worksheet_Change イベントで
例えば、A2にコードを入力してB2に名前を表示させるという
1ヶ所だけの特定のセルに表示させる方法は解るのです。
ただ、500件(行)近くのデータを入力するので、いちいちA2入力→B2表示、A3入力→B3表示、とひとつひとつ設定するわけにもいかず、なんとか列単位でできる構文がないものか…ということなのです。
表現が下手で、わかりにくいかもしれませんが宜しくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- Excel(エクセル) エクセルの散布図で新たに入力した値のデータラベルが空欄になる現象 1 2022/04/26 09:31
- Access(アクセス) AccessVBAで降順にするテーブル作成クエリを使用して作成したテーブルを削除し同一のテーブル作成 1 2023/01/06 11:17
- Excel(エクセル) VLOOKUP が機能しない、その原因は何 ? 8 2022/10/19 12:06
- Visual Basic(VBA) ファイル全てを .xlsm に変更したところ、プログラムが途中で落ちてしまっています 17 2022/12/07 12:03
- Excel(エクセル) フォルダ内のエクセルファイルを開かずにデータ採取する関数式 2 2022/12/22 22:15
- Visual Basic(VBA) VBA ドロップダウンリストを残して値のみクリア 2 2022/10/27 05:42
- Visual Basic(VBA) 列と行の名前(重複あり)が交差するセルに、データを入力したい 2 2022/06/25 22:42
- Visual Basic(VBA) 検索のユーザーフォームの表示について 1 2023/03/27 23:31
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ExcelのVBAコードについて教え...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
VBA listBoxについて
-
【VBA】マクロの入ったファイル...
-
エクセルの合計を自動で表示さ...
-
VB.netのADOってなんですか?
-
VBAコードについて教えてくださ...
-
Outlookの「受信日時」「件名」...
-
エクセルのマクロについて教え...
-
左右の表のキー位置を合わせたい
-
エクセルVBAにて =A1=B1とすれ...
-
ExcelのVBAコードについて教え...
-
エクセルVBAの配列について
-
VBA 複数の各シートに行を追加...
-
ユーザーフォームに別シートか...
-
VBAの質問になります Userform内で
-
Excel マクロについての相談
-
VBAのコードを教えてください
-
【ExcelVBA】VBA実行でダイアロ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel VBA マクロ シート名を変...
-
VBA
-
VBA 指定した回数分、別シート...
-
Outlookの「受信日時」「送信者...
-
Excelのマクロ(VBA)は、同じ...
-
郵便番号検索APIにてget Elemen...
-
outlookの受信日時、本文などを...
-
【マクロ】プルダウンが設定し...
-
引数に数値、文字列の混在
-
VBA実行後に元のセルに戻りたい
-
エクセルVBAでデータ転記
-
近似した文字列を置換するエク...
-
for 文の 繰り返し処理に使える...
-
ユーザーフォームに別シートか...
-
Excel VBAで値を変えながら、pd...
-
Outlookにて既にウィドウ単体で...
-
【VBA】マクロの入ったファイル...
-
メールの件名をデコードしたい
-
Outlookの「受信日時」「件名」...
-
VBA 何かしら文字が入っていたら
おすすめ情報