- 締切済み
Excel2003 VB コマンドボタン
Excel2003 VB コマンドボタン VB初心者です。コマンドボタンをクリックしたら、テキストボックス1に入力してあるコードと一致する値を別シートのデータTBからvlookupで呼び出してテキストボックス2に表示したいのですが、うまくいきません。コードの例を教えていただけると助かります。よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- hallo-2007
- ベストアンサー率41% (888/2115)
関連するQ&A
- エクセル コマンドボタン
1)Sheet1でコマンドボタンを作成。クリックするとフォームが表示さ れます。そのフォームの中のテクストボックスに数字を入れ、それ をSheet2のB2に挿入したいです。どうすればいいのですか? 2)Sheet2にコマンドボタンを作りました。Sheet2へ戻るようなボタン を作りたいのですがどうすれば良いですか? 以上2つの質問です。是非教えてください。
- ベストアンサー
- オフィス系ソフト
- VBでDosコマンドを動かすには
VB6でDosのコマンドを入力して実行させたいと思っているのですが、どのように設定すればいいのでしょうか? わざわざVB6からDosプロンプトを起動させるわけではございません。 理想ではテキストボックスにコマンドを入力してボタンを押すと実行すると言う形にしたいのですが・・・。 ご存知の方ご指導よろしくお願いします たぶんAPIを使うのだと思いますがAPIまだまだ知識不足なので、分かりやすく解説していただければ助かります。 よろしくお願いします。
- ベストアンサー
- Visual Basic
- VBについて質問です
VB2010でフォームデザイナーに、ツールBOXからテキストBOXとボタンを挿入します。テキストBOX内に数字を入力し、ボタンクリックで線がかけるようなプログラムを作成したいのですが、初心者で分かりません。コード等詳しく教えていただけないでしょうか。
- ベストアンサー
- Visual Basic
- Excel2003 コマンドボタンのプロパティ
Excel2003 の vba の初心者です。 (Access2003 の vba の方が得意です。) 既に出来上がっているExcelのvbaを編集したいのですが、 コマンドボタンのプロパティが表示できません。 Accessであれば、コマンドボタンを選択して右クリックするとプロパティがあります。 しかし、Excelでは、コントロールツールボックスでデザインモードを押下し、 コマンドボタンを選択してコントロールツールボックスのプロパティを押下しても、 プロパティの一番上のプルダウンの所は「Sheet1 Worksheet」となっていて、 ▼を押下しても、他には何もありません。 どうも、Worksheetのプロパティが表示されているようです。 コマンドボタンのプロパティを表示させるには、どうすればよいのでしょうか。 基本的なことでお恥ずかしいですが、 ご教授いただければ幸いです。 よろしくお願いいたします。
- ベストアンサー
- その他(プログラミング・開発)
- VBで、開いているExcelシートのアクティブセルの情報を取得
VBのモジュールで、開いているExcelシート上のアクティブセルの座標、値を 取得するにはどうすればよろしいのでしょうか。まずVBモジュールと参照対象のExcelシートを起動します。次ににExcelシート上のあるセルを選択し、VBモジュールの[セル情報]等のボタンにより、選択されているセルの座標、値をメッセージボックスに表示したいのです。よろしくお願いいたします。
- ベストアンサー
- Visual Basic
- VB.NETで起動したExcelの閉じ方について
VB.NET(2003)でExce(2003)を起動し、そのシートに動的コマンドボタンを貼り付けました。 このコマンドボタンには、Excelを閉じ、COMオブジェクトの開放を行うコードを記述しています。 これでうまくExcelは閉じることが出来き、Excelのプロセスも残らないのですが、直接Excelの[×]閉じるボタンで閉じるとExcelのプロセスが残ってしまいます。 これを防止するにはどのようにすればよいでしょうか? どうかよろしく御教示ください。
- 締切済み
- Visual Basic
- コマンドボタン名の設定で
お世話になります。 現在EXCELシート上に複数のコマンドボタンを置き、 そのコマンドボタン名をセルの値からとってこようとしています。 これがVBの考えでしたら ************************************************* Dim i as integer 'ループ用変数 '対象セルに値が存在しなくなるまでループ Do While Worksheets("Sheet1").Cells(i, 1) <> "" 'セルの値をコマンドボタン名に代入 Worksheets("Sheet1").CommandButton(i).Caption = Worksheets("Sheet1").Cells(i, 1).Value i = i + 1 Loop ************************************************* のようにできるのではないかと考え、いろいろと試行錯誤しているのですがうまくいきません。 VBAではこのようなやり方はできないのでしょうか? vbのように変数名でループさせるということは出来ないというような情報もあるのですが、出来ればこの考えに似たような感じのプログラムの組み方がしたいと考えております。 どなたかご教授よろしくお願いいたします。
- ベストアンサー
- Windows XP
- EXCEL2003 VBAのテキストボックス
ユーザーフォームからの入力・操作のみでシート上の住所録を編集出来るものを作ろうとしております。 テキストボックスの値の操作についての質問なのですが、端的に説明しにくいので自分で記述したコードと共に説明させていただきます。 シートはA列に氏名、B列に住所が入るようにし、100件のデータを格納出来るようにします。1行目はタイトルです。 セル範囲の名前は以下のように定義付けしています。 A2:A101 「氏名」 A2:B101 「住所録」 ユーザーフォームには以下のオブジェクトを配置しております。 「名前」入力・出力用テキストボックス(オブジェクト名:TB1) 「住所」入力・出力用テキストボックス(オブジェクト名:TB2) 名前検索用コンボボックス(オブジェクト名:CMB) 「追加」コマンドボタン(オブジェクト名:CB1) 「訂正」コマンドボタン(オブジェクト名:CB2) まずは新規データの入力。テキストボックス(TB1, TB2)に入力した後の「追加」コマンドボタン(CB1)クリック時の処理は以下のコードでうまくいっております。 Private Sub CB1_Click() Range("A65536").End(xlUp).Select Selection.Offset(1, 0).Select Selection = TB1 Selection.Offset(0, 1).Select Selection = TB2 Range("住所録").Sort _ Key1:=Range("A2"), _ Order1:=xlAscending, _ Header:=xlNo, _ OrderCustom:=1, _ MatchCase:=False, _ Orientation:=xlTopToBottom, _ SortMethod:=xlPinYin End Sub 同じテキストボックス(TB1, TB2)を使いデータの訂正をする為、コンボボックス(CMB)に以下のコードを記載しました。 尚、コンボボックスのRowSourceは「氏名」です。 Private Sub CMB_Change() Dim AA As String AA = CMB.Value TB1.Value = Application.WorksheetFunction.VLookup(AA, Range("住所録"), 1) TB2.Value = Application.WorksheetFunction.VLookup(AA, Range("住所録"), 2) End Sub これでコンボボックスで選択した名前からテキストボックスに名前と住所を表示することができました。 ここからが上手くいきません テキストボックスに表示された文字を同じテキストボックス上で変更し、変更後の情報を「訂正」コマンドボタン(CB2)クリックでシート上に送るために以下のコードを記述しました。 Private Sub CB2_Click() Dim BB As String BB = CMB.Value Dim CC As Range Set CC = Range("氏名").Find(what:=BB, LookIn:=xlValues, _ LookAt:=xlWhole, SearchOrder:=xlByRows) Cells(CC.Row, CC.Column).Select Selection = TB1 Selection.Offset(0, 1).Select Selection = TB2 Range("住所録").Sort _ Key1:=Range("A2"), _ Order1:=xlAscending, _ Header:=xlNo, _ OrderCustom:=1, _ MatchCase:=False, _ Orientation:=xlTopToBottom, _ SortMethod:=xlPinYin CBM.ListIndex = -1 End Sub これを実行してもシートには訂正後の情報が反映されず訂正前の情報が入ってしまいます。 ここで訂正後の情報を反映させるためにはどうしたらよろしいのでしょうか。
- ベストアンサー
- Visual Basic
- Excel2010のシート上にあるコマンドボタン等を右クリックすると
Excel2010のシート上にあるコマンドボタン等を右クリックすると ここにコピー ここに移動 とか出て煩わしいです。 これを出なくする方法を教えて下さい。
- ベストアンサー
- その他MS Office製品
- VB6 コマンドボタン クリックイベントについて
教えてください。 フォームに貼り付けているコマンドボタンのクリックイベントについてですが、クリックイベント内の処理で処理に時間がかかります。コマンドボタンを1度クリックすると、この処理を実行します。この状態であれば、問題ないのです。ところが、コマンドボタンを押して、処理している間にコマンドボタンを連打すると、ずーっと同じ処理を繰り返してしまいます。 クリックイベントが待ち行列にたまっているように思えるのですが、 これを回避する方法などがあれば教えてください。 ・待ち行列をクリアするとか ・待ち行列にイベントがたまっていても、1度しか実行しない。 などなど、具体的な方法とサンプルコードなどを教えていただけないでしょうか。お願いします。 環境VB6 WIN2K です。
- ベストアンサー
- Visual Basic
- パソコンにインストールできないトラブルの解決方法を探しています。
- Windows10を使用しており、無線LANで接続しています。
- ブラザー製品のT-P710BPTのシリアル番号が入力できません。
補足
ご回答ありがとうございます。 不慣れで具体的な質問をできず、申し訳ございません。なお、現状は次の通りです。 Sheet2(材料TB) A列 B列 C列 1 材料A 東 2 材料B 西 3 材料C 南 以下数百種 ユーザフォームに3つのテキストボックス(txtCode,txtName,txtClass)とコマンドボタンを配置 コマンドボタンに以下のコードを書いたところデバッグされてしまいます。 Private Sub CommandButton1_Click() '材料コードに一致する材料名と分類を表示 If Application.CountIf(Worksheets("材料TB").Range("A2:A65000"), txtCode) = 0 Then MsgBox "材料コードに一致する材料がありません。" Else txtName = Application.VLookup(txtCode, Worksheets("材料TB").Range("A2:C65000"), 2, False) txtClass = Application.VLookup(txtCode, Worksheets("材料TB").Range("A2:C65000"), 3, False) End If End Sub よろしくお願いします。