- ベストアンサー
- すぐに回答を!
Excel VBAの自動メンバ表示で表示されるものの一部を非表示にしたい
Microsoft Visual Basic Editor(VBE)でActivecellと入力した後に.vを入力すると Validationが一番上に表示されますが、これを削除してValueが一番上に表示されるようにしたい。 (Activecellと入力した後に.vを入力するとValueが一番上に表示されるようにしたい。) おそらく、どこかにあるXMLファイルに書かれているValidationの部分を削除すればよいと思うのですが どこをどうすればよいのかがわかりません。 使用OS:Windows XP 使用ソフト:Microsoft Excel 2003 ご存知の方がおられましたらご回答をよろしくお願いします。
- nana_watuki
- お礼率61% (142/232)
- 回答数1
- 閲覧数225
- ありがとう数1
質問者が選んだベストアンサー
- ベストアンサー
- 回答No.1
- Wendy02
- ベストアンサー率57% (3570/6232)
こんばんは。 レスが付きませんので、こちらで書かせていただきます。 結論から書きますと、それは出来ません。それは、Object Library(ActiveX コントロール) にありますが、それを外すことは出来ません。XMLは、まったく関係ありません。 ご質問者さんは、すでに、VBAを始めてから2年以上も過ぎているようですが、似たような質問では、オートコレクトで自分で登録することは出来ないか、とか、聞かれたことがあります。 厳しいようですが、不必要なら、オプションから「自動メンバ」をオフにすることです。そうしてきちんと、プロパティやメソッドと、そのスペルを覚えればよいわけです。それに、そうした機能で出てこない隠しプロパティやメソッドもあるのですから、やはり覚えなくてはなりません。 こういう機能(インテリセンスやオートコレクト)は便利かもしれませんが、これは素人プログラマのための補助入力機能ですから、それを割り切ってお使いになることをお勧めします。
関連するQ&A
- Excelを起動したときにVBE(Visual Basic Editor)も同時に起動するようにするにはどうすればよいのでしょうか?
Excelを起動したときにVBE(Visual Basic Editor)も 同時に起動するようにするにはどうすればよいのでしょうか? 使用OS:Windows XP 使用ソフト:Microsoft Excel 2003 ご存知の方がおられましたらご回答をよろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- WORD作業後にフォールダ名「VBE」が勝手に出来てしまいます。
長年WORD・EXCELを使っていますが、最近(気がつきました)、フォールダ名「VBE」が勝手に出来てしまいます。 当方は 『VBE』=「Visual Basic Editor」 等使用した覚えがないので(これからも使わない)、「VBE」名のフォールダーが邪魔で仕方有りません。 フォールダの中には「MSForms.exd」というファイルが勝手に出来ています。 質問ですが (1)このVBEフォールダが出来ないようにするにはどうすれば? (2)このVBEフォールダは削除しても大丈夫ですか? 皆様のお知恵を。。。
- 締切済み
- Windows XP
- 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にこだわっているわけではありません。 よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- Excel VBA: UserForm.Show で実行時エラー
たびたびお世話になります。 結構大きなフォームを作成して、ようやく開発が終了したのですが、ある時を境に急にフォームを表示しようとすると実行時エラーになります。 Microsoft Visual Basic ------------------------------------------------------------- 実行時エラー'-2147417848 (80010108)': 'Value' メソッドは失敗しました 'IMdcOptionButton'オブジェクト このあと、ご迷惑をおかけします、現象を Microsoft に報告しますというメッセージが出ます。 いつもメッセージは一緒です。 不思議なことに、Excel を起動し、Alt+11 で VBE を起動し、フォームを開発用に開き、再生ボタンをクリックしてフォームを表示させると、無事表示されます。 一度無事に表示されると、いつもやっているようにマクロから Show で表示しても表示されます。 これも必ず再現されます。 どうすれば回避できるでしょうか。 何かわかればよろしくお願いします。 OS は Windows XP SP2、 Office は 2007 (12.0.6331,5000) SP1 MSO (12.0.6333.5000) です。 ここまで苦労して開発してテストして、さっき顧客にできたからいまから送ると言ったのに泣きそうです :-(
- ベストアンサー
- Visual Basic
- エクセルVBA 現在のセルの4個上のセルの値
こんにちは、 エクセルマクロの質問です。 イミディエイトウィンドウにて 現在のセルの4個上の値を表示しようと以下の文を入力したところエラーになりました。 ?cells(activecell.row-4,activecell.colum).value で 「実行時エラー 438 オブジェクトはこのプロパティまたまメソッドをサポートしてません。」 なぜでしょう? ?activecell.Row-4 ?activecell.colum はそれぞれ 正しく表示されます。
- ベストアンサー
- Excel(エクセル)
- VBAの画面が正しく表示されません
当方エクセル2003を使用しています。ツール→マクロ→Visual Basic EditorからVBAを開いたんですが、以前は左側にSheet1,sheet2などがあり、右側に文字を打つ事が出来たんですが、現在は灰色の画面しか表示されなく、文字を打つ事が出来ないのですが、どうしたら元に戻るのでしょうか? よろしくお願いします。
- 締切済み
- オフィス系ソフト
- EXCEL2000でVBAでWinsockをしたい
こんにちは。 EXCEL2000を使用してEXCEL VBAにてWinsockを使用したいです。 Visual Basic6.0をインストールしているのですが、 EXCEL VB Editorにて「参照設定」の欄に Microsoft Winsockがありません。 どうしたら、追加できるのでしょうか? Visual Basic6.0にはWinsockは搭載していると思うのですが、
- ベストアンサー
- Visual Basic
- 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)データ入力が一度に終わらない時、途中の任意の列から入力を始めたい場合はどこにどのように書けば良いのでしょうか? 本に書かれていることは丸写しできますが、ちょっとでも違うと壁にぶつかってしまいます。 独学で勉強する時に良いと思われる方法はどんな方法なのでしょうか? おこがましいですが素人も分かりやすい説明をして頂けると助かります。 宜しくお願いします。
- ベストアンサー
- Visual Basic
- A1に数値を入力後、VBAのMsgboxでその数値が表示されるようにしたい
A1に数値を入力後(数値を入力したあとEnterキーを押すと) VBAのMsgboxでその数値が表示されるようにするにはどうすればよいのでしょうか? 使用OS:Windows XP 使用ソフト:Microsoft Excel 2003 ご存知の方がおられましたらご回答をよろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- エクセル 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
- ベストアンサー
- Visual Basic
質問者からのお礼
DreamweaverとかだとXMLファイルを変更することでコードヒントを編集することが出来たので Excelでもどこかを変更することで似たようなことが出来ると思ったのですが 出来ないのですか・・・残念です。 ご回答いただきどうもありがとうございました。