Excel VBAでの自動メンバ表示の一部を非表示にする方法

このQ&Aのポイント
  • Microsoft Visual Basic Editor(VBE)でActivecellと入力した後に.vを入力すると、Validationが一番上に表示されますが、これを削除してValueが一番上に表示されるようにしたい。
  • XMLファイルに書かれているValidationの部分を削除することで、Excel VBAの自動メンバ表示でValueが一番上に表示されるようになる。
  • 使用OSはWindows XP、使用ソフトはMicrosoft Excel 2003。
回答を見る
  • ベストアンサー

Excel VBAの自動メンバ表示で表示されるものの一部を非表示にしたい

Microsoft Visual Basic Editor(VBE)でActivecellと入力した後に.vを入力すると Validationが一番上に表示されますが、これを削除してValueが一番上に表示されるようにしたい。 (Activecellと入力した後に.vを入力するとValueが一番上に表示されるようにしたい。) おそらく、どこかにあるXMLファイルに書かれているValidationの部分を削除すればよいと思うのですが どこをどうすればよいのかがわかりません。 使用OS:Windows XP 使用ソフト:Microsoft Excel 2003 ご存知の方がおられましたらご回答をよろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.1

こんばんは。 レスが付きませんので、こちらで書かせていただきます。 結論から書きますと、それは出来ません。それは、Object Library(ActiveX コントロール) にありますが、それを外すことは出来ません。XMLは、まったく関係ありません。 ご質問者さんは、すでに、VBAを始めてから2年以上も過ぎているようですが、似たような質問では、オートコレクトで自分で登録することは出来ないか、とか、聞かれたことがあります。 厳しいようですが、不必要なら、オプションから「自動メンバ」をオフにすることです。そうしてきちんと、プロパティやメソッドと、そのスペルを覚えればよいわけです。それに、そうした機能で出てこない隠しプロパティやメソッドもあるのですから、やはり覚えなくてはなりません。 こういう機能(インテリセンスやオートコレクト)は便利かもしれませんが、これは素人プログラマのための補助入力機能ですから、それを割り切ってお使いになることをお勧めします。

nana_watuki
質問者

お礼

DreamweaverとかだとXMLファイルを変更することでコードヒントを編集することが出来たので Excelでもどこかを変更することで似たようなことが出来ると思ったのですが 出来ないのですか・・・残念です。 ご回答いただきどうもありがとうございました。

関連するQ&A

  • Excelを起動したときにVBE(Visual Basic Editor)も同時に起動するようにするにはどうすればよいのでしょうか?

    Excelを起動したときにVBE(Visual Basic Editor)も 同時に起動するようにするにはどうすればよいのでしょうか? 使用OS:Windows XP 使用ソフト:Microsoft Excel 2003 ご存知の方がおられましたらご回答をよろしくお願いします。

  • VBAを使ってエクセル上の表の集計を出したいのですが。

    初心者ゆえ稚拙な質問をお許しください。 A B C D E    C=引出額 1 * * * * 5    D=預入額 2 * * 1 * 4    E=合計額 3 * * * 1 5 エクセルでデーターを随時入力していくための上記のような表を多数のシートに作成したのですが、各シートに関数を入れていると容量的に重たくなってしまうので、VBAを使って下記のようにマクロを組んでみたのですが、引出額もしくは預入額に間違った値を入力した際削除すると、ひとつ上のレコードの値になってしまいます。 要望を言えば、引出額、預入額のセルに間違った値を入力した際削除しても余計な値が入らなく、該当のセルが空白の時は、その合計額のセルも空白にさせたいのですが、何かいい方法はないでしょうか? Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = 6 Then ActiveCell.Offset(columnoffset:=1).Value = ActiveCell.Offset(rowoffset:=-1, columnoffset:=1).Value - ActiveCell.Offset(columnoffset:=-1).Value End If If Target.Column = 7 Then ActiveCell.Value = ActiveCell.Offset(rowoffset:=-1).Value + ActiveCell.Offset(columnoffset:=-1).Value End If End Sub Worksheet_Changeにこだわっているわけではありません。 よろしくお願いします。

  • エクセルVBA 現在のセルの4個上のセルの値

    こんにちは、 エクセルマクロの質問です。 イミディエイトウィンドウにて 現在のセルの4個上の値を表示しようと以下の文を入力したところエラーになりました。 ?cells(activecell.row-4,activecell.colum).value で 「実行時エラー 438 オブジェクトはこのプロパティまたまメソッドをサポートしてません。」 なぜでしょう? ?activecell.Row-4  ?activecell.colum はそれぞれ 正しく表示されます。

  • VBAプログラムについて

    VBAプログラムを本を見ながら作成していますが、はっきりいって素人です。 本に載っていないこととなるとちんぷんかんぷんで、いくつかあるプロシージャのどのプロシージャ内に記入したら良いのか分からないし、新しいプロシージャをどこに記入して良いのか分かりません。 例えば、 ----------------------------------------------------------- Private Sub CommandButton1_Click() ActiveCell.Value = TextBox1.Value ActiveCell.Offset(0, 1).Value = TextBox2.Value ActiveCell.Offset(0, 2).Value = TextBox3.Value ActiveCell.Offset(0, 3).Value = TextBox4.Value ActiveCell.Offset(0, 4).Value = TextBox5.Value ActiveCell.Offset(0, 5).Value = TextBox6.Value ActiveCell.Offset(0, 6).Value = TextBox7.Value ActiveCell.Offset(0, 7).Value = TextBox8.Value ActiveCell.Offset(0, 8).Value = TextBox9.Value ActiveCell.Offset(1, 0).Activate End Sub Private Sub CommandButton2_Click() Unload Me End Sub Private Sub Label1_Click() End Sub Private Sub UserForm_Click() End Sub Private Sub UserForm_Initialize() Range("A2").Activate End Sub ---------------------------------------------------------- テキスト入力フォームをいくつか作っており、コマンドボタン1とコマンドボタン2で入力ボタンと閉じるボタンにしています。   このプログラムでは、入力ボタンをクリックすることでデータが入力されて、入力された列のすぐ次の列の最初のセルがアクティブな状態になります。 (1)データ入力済みのエクセルシートにおいて、アクティブな状態にしたセルや列を削除したい場合、どこにどのように書けば良いのでしょうか? (2)データ入力が一度に終わらない時、途中の任意の列から入力を始めたい場合はどこにどのように書けば良いのでしょうか? 本に書かれていることは丸写しできますが、ちょっとでも違うと壁にぶつかってしまいます。 独学で勉強する時に良いと思われる方法はどんな方法なのでしょうか? おこがましいですが素人も分かりやすい説明をして頂けると助かります。 宜しくお願いします。

  • エクセルのVBAを使用したときのセル範囲について

    エクセルでVBAを勉強しています。(初歩です。初心者です。) マクロを記述したあと、エクセルシートに表示しますよね。 たとえば、今度は、Visual Basic Editorを使って、「上から3行目が赤」にしていたものを「上から5行目を青にする」という問題があったとします。Visual Basic Editor上でどうやったら、その指定しているセル範囲がわかるのでしょうか?つまり、上から3行を上から5行目にするといことです。 また、Visual Basic Editor上では、「色」を番号で表示しますが、これは覚えておく必要があるのでしょうか?たとえば「赤」は3番とか・・・・。 初心者ですのでご了承ください。

  • エクセル VBAで入力フォームを作成し、そのフォームで検索をしようとF

    エクセル VBAで入力フォームを作成し、そのフォームで検索をしようとFindを使って動かしたのですが、一度表示したあと、再度別の値で検索しても最初に検索したデータが表示されてしまいます。 色々調べましたが、全く分からずこちらに質問しました。VBAは全くの初心者で本やHPを見ながら作っています。勉強不足なのは承知しております。どなたかご親切な方のご指導をお待ちしています。 顧客名   ・・・・・・・・・・・ 店舗名   ・・・・・・・・・・・ 略称    ・・・・・  ←ここに入力して検索をクリックします。 ・ ・ Private Sub 検索_Click() Dim w As Variant Dim r As Range ActiveSheet.Unprotect w = 略称.Value If w = "" Then Exit Sub Set r = Cells.Find(What:=w, After:=ActiveCell, LookIn:=xlValues, LookAt:= _ xlPart, SearchOrder:=xlByRows, MatchCase:=False _ , MatchByte:=False, SearchFormat:=False) If TypeName(r) = "Range" Then 略称.Value = Cells(ActiveCell.Row, 2).Value 顧客名.Value = Cells(ActiveCell.Row, 3).Value 店舗名.Value = Cells(ActiveCell.Row, 4).Value 締日.Value = Cells(ActiveCell.Row, 5).Value 売単価.Value = Cells(ActiveCell.Row, 6).Value サイクル.Value = Cells(ActiveCell.Row, 7).Value 郵便番号.Value = Cells(ActiveCell.Row, 8).Value 住所.Value = Cells(ActiveCell.Row, 9).Value 電話番号.Value = Cells(ActiveCell.Row, 10).Value FAX.Value = Cells(ActiveCell.Row, 11).Value 担当者.Value = Cells(ActiveCell.Row, 12).Value End If ActiveSheet.Protect End Sub

  • WORD作業後にフォールダ名「VBE」が勝手に出来てしまいます。

    長年WORD・EXCELを使っていますが、最近(気がつきました)、フォールダ名「VBE」が勝手に出来てしまいます。 当方は 『VBE』=「Visual Basic Editor」 等使用した覚えがないので(これからも使わない)、「VBE」名のフォールダーが邪魔で仕方有りません。 フォールダの中には「MSForms.exd」というファイルが勝手に出来ています。 質問ですが (1)このVBEフォールダが出来ないようにするにはどうすれば? (2)このVBEフォールダは削除しても大丈夫ですか? 皆様のお知恵を。。。

  • EXCEL2000でVBAでWinsockをしたい

    こんにちは。 EXCEL2000を使用してEXCEL VBAにてWinsockを使用したいです。 Visual Basic6.0をインストールしているのですが、 EXCEL VB Editorにて「参照設定」の欄に Microsoft Winsockがありません。 どうしたら、追加できるのでしょうか? Visual Basic6.0にはWinsockは搭載していると思うのですが、

  • 【エクセルマクロ】時間の表示形式について

    あるセルに「8:24」(表示形式はユーザー定義により、h:mm)と入力されています。 この値を「出社時間」(date型の変数)へ代入していますが、以下の2つの方法で取得できる値が異なっています。 (1)出社時間 = ActiveCell.Offset(0, -3).Value 値:8:24 (2)出社時間 = Replace(ActiveCell.Offset(0, -3).Value, " ", "0:00:00") 値:0:35 なぜこのようになるのでしょうか。 (2)の方法を用いて(1)の値を取得したいです。

  • VB2005でExcelのアクティブセルに文字を入力したあとに

    VB2005初心者です。 VB2005のTextBox1に表示された文字をExcelのActiveCellに入力するプログラムを先ほど教えて頂きました。 そのあとの追加動作でActiveCellに文字を入力した後、ActiveCellを一段下げ、TextBox1の文字が変化したらActiveCellに変化した文字を入力するような繰り返し処理をさせるにはどのようにプログラムすればいいのでしょうか? 以下のコードはTextBox1の文字をActiveCellに表示させるプログラムです。ここにどのように追加すればいいのか教えて頂けませんでしょうか? Dim xlApp As Object = GetObject(, "Excel.Application") xlApp.ActiveCell.value = TextBox1.Text xlApp = Nothing どうぞよろしくお願いいたします。

専門家に質問してみよう