Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


7597 / 13645 ツリー ←次へ | 前へ→

【38001】ShowDataFormについて akamomo 06/5/24(水) 23:24 質問[未読]
【38008】Re:ShowDataFormについて ichinose 06/5/25(木) 7:15 発言[未読]
【38012】Re:ShowDataFormについて akamomo 06/5/25(木) 8:57 質問[未読]
【38068】Re:ShowDataFormについて ichinose 06/5/25(木) 21:42 発言[未読]
【38009】Re:ShowDataFormについて uchu 06/5/25(木) 8:17 回答[未読]
【38013】Re:ShowDataFormについて akamomo 06/5/25(木) 9:17 お礼[未読]

【38001】ShowDataFormについて
質問  akamomo E-MAIL  - 06/5/24(水) 23:24 -

引用なし
パスワード
   同じシートに複数の表を作ってEXCEL標準のデータのフォームを利用して内容の変更をしたいのですが、マクロではどのようにすればいいのでしょうか。A1セルを基準の表でしかできません。どのようにすればできるのでしょうか。教えてください。よろしくおねがいします。

【38008】Re:ShowDataFormについて
発言  ichinose  - 06/5/25(木) 7:15 -

引用なし
パスワード
   ▼akamomo さん:
おはようございます。

>同じシートに複数の表を作ってEXCEL標準のデータのフォームを利用して内容の変更をしたいのですが、マクロではどのようにすればいいのでしょうか。A1セルを基準の表でしかできません。どのようにすればできるのでしょうか。

例えば、
表がアクティブシートのセルF16から、I22の範囲で
     F    G     H     I
16  項目1  項目2  項目3  項目4
17   1     a    100    aa
18   2     b    101    bb
19   3     c    102    cc
20   4     d    103    dd
21   5     e    104    ee
22   6     f    105    ff

とあったとします。

このF16から、I22というセル範囲を選択した状態で

「データ」-----「フォーム」とクリックすれば、
選択した表(F16:I22)のデータフォームが表示されます。


この操作をマクロの記録でコード化して見てください。


17
18

【38009】Re:ShowDataFormについて
回答  uchu  - 06/5/25(木) 8:17 -

引用なし
パスワード
   データ範囲に Database という名前を定義

または

Range("C5").Select
Application.ExecuteExcel4Macro "DATA.FORM()"

【38012】Re:ShowDataFormについて
質問  akamomo E-MAIL  - 06/5/25(木) 8:57 -

引用なし
パスワード
   ▼ichinose さん:
>▼akamomo さん:
>おはようございます。
>
>>同じシートに複数の表を作ってEXCEL標準のデータのフォームを利用して内容の変更をしたいのですが、マクロではどのようにすればいいのでしょうか。A1セルを基準の表でしかできません。どのようにすればできるのでしょうか。
>
>例えば、
>表がアクティブシートのセルF16から、I22の範囲で
>     F    G     H     I
>16  項目1  項目2  項目3  項目4
>17   1     a    100    aa
>18   2     b    101    bb
>19   3     c    102    cc
>20   4     d    103    dd
>21   5     e    104    ee
>22   6     f    105    ff
>
>とあったとします。
>
>このF16から、I22というセル範囲を選択した状態で
>
>「データ」-----「フォーム」とクリックすれば、
>選択した表(F16:I22)のデータフォームが表示されます。
>
>
>この操作をマクロの記録でコード化して見てください。
>
>
>17
>18
早速お答えを頂きありがとうございます。教えていただいた方法でやってみましたが、マクロ記録ではうまくいきますが、記録したマクロを実行すると”列見出しを含むリストまたは選択範囲の行を特定できません。−−−−と表示されうまく動きません。マクロ記録以外に何か+しなければいけないのでしょうか。お手数ですが再度ご教示お願いいたします。

【38013】Re:ShowDataFormについて
お礼  akamomo E-MAIL  - 06/5/25(木) 9:17 -

引用なし
パスワード
   ▼uchu さん:
>データ範囲に Database という名前を定義
>
>または
>
>Range("C5").Select
>Application.ExecuteExcel4Macro "DATA.FORM()"
早速やってみました。うまくいきました。ありがとうございます。いろいろな本を購入して勉強していますが、ここに載っているような実践的な方法が載っている本にまだ出会ったことがありません。また判らないことがあれば投稿させていただきます。今後とも宜しくお願いします。

【38068】Re:ShowDataFormについて
発言  ichinose  - 06/5/25(木) 21:42 -

引用なし
パスワード
   akamomo さん、 uchu さん、こんばんは。

>早速お答えを頂きありがとうございます。教えていただいた方法でやってみましたが、マクロ記録ではうまくいきますが、記録したマクロを実行すると”列見出しを含むリストまたは選択範囲の行を特定できません。−−−−と表示されうまく動きません。マクロ記録以外に何か+しなければいけないのでしょうか。お手数ですが再度ご教示お願いいたします。

あら、本当ですね、
ごめんなさい。マクロの記録で作成されたものを確認してませんでした。
(手動操作で出来たので、てっきり 大丈夫だと思ってました)。

uchu さんのExcel4Macroだときちんと表示されました!!
ありがとうございます。

Excel4Macroを使わないと出来ないのでしょうかねえ??

Sub testtest()
  Const cmbid = 30011
  Const btnid = 860
  Dim cont As CommandBarControl
  Dim btn As CommandBarControl
  Range("D11:G11").Select
  For Each cont In CommandBars("Worksheet Menu Bar").Controls
    If cont.ID = cmbid Then
     For Each btn In cont.Controls
       If btn.ID = btnid Then
        btn.Execute
        End
        End If
       Next
     End If
    Next
End Sub

無理やりだとこんなコードしか思いつきませんでした。

ExecuteExcel4Macro "DATA.FORM()"
これは、メモメモです。

ありがとうございました。

7597 / 13645 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free