- ベストアンサー
VBAのフォームでレコード番号を表示させる方法
- VBAを使用してエクセルのフォームにレコード番号を表示させる方法を教えてください。
- フォームに入力した個人情報をワークシートに反映させるために、個別のレコード番号を表示したいです。
- 関数を使用して行番号を表示させる方法を試しましたが、全てのレコードが同じ番号になってしまいます。他の方法でレコード番号を表示させることはできるでしょうか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
関連するQ&A
- エクセルvbaのフォームでエラーとなります
ワークシートにIDと名前の対応表があります。 別のシートのA1に検索したいID欄、A2にVLOOKUP関数で結果を表示させています。 VBAの入力フォーム上で、あるIDを入れたときに前途のA1に数値を代入し、A2で得られた結果をフォーム上の欄で取得するようにしています。 この時、表の中に対応する番号と名前があればキチンと結果が出ますが、そもそもデータベースが無ければVBA自体がエラーとなってしまいます。 ワークシート上のVLOOKUPには近似値では困るのでFALSEを指定していますので、該当番号がなければここでの結果は#N/Aとなっています。 フォーム上で該当番号がなければ代わりの文字列、たとえば「なし」などを入力されるようにできるか、最低でもプロセスが中断される事がないようにしたいのですが、どのようにすれば可能でしょうか?
- ベストアンサー
- オフィス系ソフト
- EXCELのVBAで、あるワークシートでのみ使うユーザーフォームを作り
EXCELのVBAで、あるワークシートでのみ使うユーザーフォームを作りました。そのワークシート上での定数や、プロシージャや関数をワークシートのモジュールに置いています。そして、その定数や関数などをユーザーフォームのイニシャライズなどで使いたいと思いますが、ユーザーフォームのモジュールはワークシートのモジュールとは別なので、使えません。他への影響を考えると、標準モジュールには、置くのは不適切だと思います。 特定のワークシート上でのみ使うユーザーフォームと、そのワークシートとで、共通の定数や関数などを使う方法は、あるのでしょうか。どのようにすればよいのでしょうか。
- ベストアンサー
- その他MS Office製品
- エクセル VBA ユーザーフォームの表示
excel2000にてシートのB列のみで65行目以下をWクリックするとユーザーフォームが表示されるというコードを教えてください。 以下は調べたりした結果のコードです。B列をWクリックすると表示される状態です。 B60とかをクリックしても表示されないようにしたいです。 Worksheetのコード Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Cancel = True If Target.Column = 2 Then 'B列なら 行 = Target.Row '行番号を取得する UserForm1.Show 'ユーザーフォームを表示する End If End Sub 標準モジュールのコード Option Explicit Public 行 As Variant '行番号 Sub auto_open() Load UFnyuuryoku 'ユーザーフォームをメモリに読み込む End Sub ご存知の方よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- Accessのフォーム上にレコード数とレコード番号の表示
Accessでクエリを元に表示するフォーム上で、テキストボックス等に関数を使って、レコード数とレコード番号を表示する方法がありましたら教えてください。 フォームの書式設定で「移動ボタン」の表示をすれば目的の事は出来るのですが、表示の大きさが調整できない為、とても見難いのです。 以上よろしくお願いします。
- ベストアンサー
- その他(データベース)
- レコードセレクタをクリックすると詳細フォームを表示
このサイトに何度か、登校しています。eternallyと言います。 さて、質問の内容というのが、ACCESS2010のレコードセレクタについてです。 【Aテーブル】 ID 会社名 ソフト名 ソフトの説明 1 AAAAA BBBBB CCCCCCCC 2 DDDDD EEEEE FFFFFFFFF 3 GGGGG HHHGH IIJIIII 【Bテーブル】 ID 金 額 所有有無 1 50,000 X 2 35,000 ○ 3 70,000 × Aテーブルの内容をそのまま、フォームAとして帳票フォームで表示しています。 ここでフォームAのレコードセレクタをクリックすると、Bテーブルを関連付けた フォームBの内容を表示したいのです。 他のサイトで調べましたが、 同じテーブルをレコードセレクタで表示させる方法は見つかったのですが、 違うテーブルを表示させる方法がみつからなかったので、このサイトで聞いてみようと思いました。 Private Sub Form_Click() Forms!フォームA.Filter = "ID=" & Me!ID Forms!!フォーム.FilterOn = True End Sub 上はフォームAのレコードセレクタをクリックすると、 詳細フォームを表示する場合のVBAです。 フォームBの場合はエラーになって、動いてもくれません。 「フォームBが見つかりません。」というエラーです。 どうぞ、よろしくお願いします。
- ベストアンサー
- その他(データベース)
- 空白のセルを行削除する。EXCELマクロなのですが・・
VBA初心者です。 データーをHPから、単純にコピーしてきて、 EXCELに貼り付けています。 フィルターをかけても、画像かなにかがセルに張り付いているのか、 空白行をすべて削除できません。 いろいろ試して(HPから、空白セルの行削除について書かれてあるマクロを貼り付けて)動いたのが、このVBAです。 しかし、遅いので、早いVBAに簡略できればいいのですが。。 大体、1000行ぐらいの文字を貼り付けて、3/1ぐらいが空白行です。A行のセルの空白のみを、削除したいのですが。 まったくの素人なので、わかりません。 どうかよろしくお願いいたします。 Sub 空白の削除() x% = Worksheets("sheet1").Range("A65536").End(xlUp).Row For i = x% To 1 Step -1 If Worksheets("sheet1").Cells(i, 1).Value = "" Then Worksheets("sheet1").Rows(i).Delete Next End Sub
- ベストアンサー
- オフィス系ソフト
- Access2013 vbaサブフォームのレコード
[Access2013 vba] ■したいこと サブフォームのレコードの中から、一レコードだけをチェックボックスなどで選択したいのですが、どのようにしたら出来ますでしょうか。 複数行選択は出来ないようにしたいです。 選択したのち、メインフォームの選択ボタンを押すと、そのレコードのID番号を取得して、呼出元のフォームのIDフィールドに代入したいです。 ■画面の流れ・・・ Aフォーム → 帳票型Bフォームで、レコードを選び「開く」ボタンを押す→ B 'メインフォームとCサブフォーム)が開く Cサブフォームのレコードをチェックボックスにチェックを入れて選択する B ' メインフォームの「選択」ボタンを押すと B ' メインフォームと、その前のBフォームが閉じて Aフォームに戻り、AフォームのIDフィールドに選択したIDが格納される。 よろしくお願いします。
- ベストアンサー
- その他(データベース)
- ROW関数について
先日質問をしたのですが、理解が足りないようなので質問させて頂きます。 ROW関数はセルを入力したそのセルの行番号を返すものだと思うのですが、例えば =INDEX(シート1!C2:シート1!HR2,(ROW()-3)*3+1,) このような数式をワークシート2のD3のセルに入れると、ROW()は3と解釈されるので、 ・範囲はData!のワークシートのC2からHR2まで、 ・(3-3)*1+1となるので、その範囲内の1番であるData!D2セルを参照するのだと思うのですが、何か間違っているでしょうか? この際に、ROW()に参照されるセルは、もしかしてシート1のものなのでしょうか? 宜しくお願いしますm(_ _)m
- ベストアンサー
- オフィス系ソフト
- エクセルVBA ユーザーフォームの終了について
エクセルVBAでユーザーフォームを作成しています。 コマンドボタンにVBAマクロを割り当てしているのですが 思うように動いてくれないので質問します。 コマンドボタンをクリックしたら望む動作 1、ワークシートを選択 2、その後、ユーザーフォームを消す。 と言う動作にしたいのですが、2の ユーザーフォームを消す方法、書き方が分かりません どなたか教えていただけないでしょうか 1の動作は以下のように書いています。その後の書き方を お願いします。 Private Sub CommandButton8_Click() ブック名 = "VBA演習" シート名 = "sheet1" Workbooks(ブック名 & ".xls").Worksheets(シート名).Activate End Sub (ユーザーフォームの名前は"テストフォーム"としてます)
- ベストアンサー
- オフィス系ソフト
- EXCEL VBA function で、引数のシート名を取得する
EXCEL VBA で、 Function yyy(a) yyy = a.row とすると、a の行番号を返すことができます。 a のシート名を返す(取得する)には、どうしたらよいのでしょうか? * a にはセル範囲を渡すのは、運用上の約束としていますので、チェック等は不要です。 よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- 給紙ローラーの清掃で使用するローラークリーニングシートを溝に正しくセットしても、印刷機がシートを認識しない問題が発生しました。
- 印刷機の給紙ローラーをきれいにするために、ローラークリーニングシートを使用しましたが、シートが認識されずに印刷ができません。
- 給紙ローラーの汚れを取り除くために、ローラークリーニングシートを使いましたが、印刷機がシートを認識しない状態です。
お礼
ご回答ありがとうございます。 「=ROW()-1]と入れ、マクロの登録で記録したものを削除ボタンに設定しているプロシージャに記載しましたが、結果同じでした。 しかし、laCODEに表示させた値をセルに反映するといった命令になっている事に気付き、その命令を削除したところ、希望している結果になりました。 今回のご指摘が、ヒントとなり大変助かりました。 本当にありがうございました。