
No.4ベストアンサー
- 回答日時:
再度の登場、onlyromです。
回答のことお分かりになったようですね。
ではも少し詳しく説明します。
ShowDataFormメソッドが上手くいくかどうかは
表の左上のセルを選択する、しない、は関係なくて
表の位置(正確には、見出しの位置)に関係します。
これはフォームが基本的にはデータベースに入力する手段だと考えると
分かりやすいのではないでしょうか。
それをエクセルに例えると、
見出し行が1行目でデータは2行目以降から始まり、
かつ、見出し項目に抜けがない表のことです。。
例えば、見出しがA1~D1だとすると
●A1(日付)B1(品名)C1(入単価)D1(売単価)
▲A1(日付)B1(品名)C1(___)D1(売単価)
●は、データベースの形式になっているので上手くいくが
▲は、C1の項目名が空白なので上手くいかないということです。
そしてまた、
■C5(日付)D5(品名)E5(入単価)F5(売単価)
これも5行目に見出しがあるので上手くいかないわけです。
ならフォームを使えないのかというとそうではなくて、
このような場合は次のように表の範囲に名前を付けてやらなけれいけません。
■C5(日付)D5(品名)E5(入単価)F5(売単価)、の場合
(1)C5~F6(見出し行と次の行の2行)を選択する
(2)名前ボックスに【 DataBase 】という名前を入力するか
「挿入」>「名前」>「名前の定義」から【 DataBase 】という名前を付ける
これで、表がどの位置にあっても、間に列が挿入されても
項目がとびとびになっていても、ShowDataFormは動作するようになります。
【結論】
表がどの位置にあってもまたデータベースの形でなくても使えるようにするには
使う前に「見出しと次の行の2行」に名前を付けてから使うようにする
と覚えておくといいでしょう。
----------------------------------------------------
因みに名前を付けるとコードは、ShowDataFormの1行でOKです。
Sub Test()
ActiveSheet.ShowDataForm
End Sub
上記●の理想形でかつ名前を付けない場合は3行になります。
Sub test()
Application.DisplayAlerts = False
ActiveSheet.ShowDataForm
Application.DisplayAlerts = True
End Sub
----------------------------------------------------------
どちらの場合もSelectメソッドはいりません。
以上。
No.3
- 回答日時:
>1行目以外は対応できないのでしょうか。
手動ではできるので試してみたのですが、マクロからは出来ませんでした
ヘルプやWEBで探してみましたが、探しきれませんでした
>1列間隔で空白ができた場合は、使用できないsのでしょうか。
これも同じで、基本的にデータフォームは一つの連続した表の入力支援のようです
お力になれず、申し訳ありません
No.2
- 回答日時:
表の左上を選択していないだけのような気がします
それぐらいしか思い当たる所がありません
この回答への補足
先日、有難うございました。
A1からC2の場合はフォームが作成されますが、
C3からD4でマクロを使用した場合、以前のメソッドが表示されます。1行目以外は対応できないのでしょうか。
もう1点お聞きしたいのですが、1列間隔で空白ができた場合は、使用できないsのでしょうか。
宜しくお願いします。
早速の返事有難うございました。
作成出来ました。
フォームを作成時、エクセルの本に、行を選択後、次に入力出来るセルを指定していましたが、表の左上を選択するのですね。
有難うございました。
No.1
- 回答日時:
対象となる表は、1行目1列(セルA1)又は、1行目2列(セルB1)から始まってますか?
そうでなければ質問のエラーがでます。
表のレイアウト(表の始まりの行と始まりの列など)を提示した方がいいでしょう。
以上。
この回答への補足
早速の返事有難うございます。
確かに1行目1列(セルA1)または。1行目2列目(セルB1)から作成しますと出来ますが、B2からC3を選択しますと、作成出来ません。作成は可能でしょうか。表のレイアウトの表示方法を教えてください。また、行・列を挿入しますと表の入力位置が変わってしまします。宜しくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) Access 登録ボタンからサブフォームの更新 1 2022/07/22 10:23
- その他(データベース) Accessフォームからパラメーターで表示したレコードを指定のExcelのセルへ転送する方法について 2 2022/08/22 18:04
- JavaScript ラジオボタンによるフォームの開閉を行いたい 3 2022/03/31 21:30
- JavaScript ソースコードは下の共有コードサイト「張り紙」にあります。 入力フォームの javascript で 1 2022/05/11 11:01
- Access(アクセス) Accessにインポートした複数のテーブルを表示させる方法が分かりません。 1 2023/01/30 20:22
- Excel(エクセル) エクセルのファームにプルダウン設置できますか? 2 2022/05/19 23:38
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- Access(アクセス) アクセス フォームの自動入力 1 2023/03/20 00:18
- JavaScript 空白で入力フォームのボタンをクリックしたら、ブラウザの上部からjavascriptで 表示されるアラ 1 2022/05/20 11:16
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ユーザーフォームを表示中にシ...
-
VBAでユーザーフォームを再表示...
-
ExcelVBAのユーザーフォームの...
-
エクセルのフォームをマクロで...
-
エクセルのチェックボックスの...
-
パソコンの画面に合わせてユー...
-
既定のビューを分割フォームに...
-
VBAのテキストフォームの折り返...
-
Microsoft Formsの「個人情報や...
-
ユーザーフォームのテキストボ...
-
クリックイベントなのに、2回ク...
-
クリックした場所にFormを開く
-
ユーザーフォーム上に現在日時...
-
二つのフォームを一緒に移動
-
タスクトレイアイコンからのメ...
-
モードレスでユーザーフォーム...
-
ユーザーフォームのラベルに時...
-
MSGBOXのフォント大きさ変更
-
(Excel+VBA)ユーザーフォームの...
-
【Excel VBA】ユーザフォームを...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ユーザーフォームを表示中にシ...
-
ExcelVBAのユーザーフォームの...
-
Form_Load と Form_Activate の...
-
VBAでユーザーフォームを再表示...
-
Microsoft Formsの「個人情報や...
-
クリックイベントなのに、2回ク...
-
ユーザーフォームのテキストボ...
-
ユーザーフォーム上に現在日時...
-
ACCESSのフォーム、開くんです...
-
エクセルのチェックボックスの...
-
エクセルVBAのフォームを最...
-
VB.NETでフォームロード中のエ...
-
EXCEL VBA ユーザーフォームの...
-
【Excel VBA】ユーザフォームを...
-
VBA(エクセル)のユーザー...
-
Hideについて(.NET)
-
(Excel+VBA)ユーザーフォームの...
-
モーダルフォームとモードレス...
-
VBA コンボボックスとテキスト...
-
アクセス2013 フォームが...
おすすめ情報