VBAで最大値と2番目の取得方法
Excel上のVBAで資料作成をおこなっているのですが、一部、どうしたら良いのかわかりません。 アドバイスをお願いいたします。 ■やりたいこと ・Excelの一覧表で、行ごとに1番大きい値と2番目に大きい値を取得する。 ・取得する際、項目名(1行目にある値)も併せて取得する。 ・取得数の上限は2件のため、1番目、2番目がそれぞれ複数ある場合、...
View Articleプログラムを終了しても消えない変数
VBAを使っていて ユーザーフォーム上にボタンを二つ配置します。 ボタン1を押すとsub 1が実行されます。 このプログラムで出力された変数を ボタン2で実行するsub 2で使いたいのですが どうすれば良いですか? sub 1の中でcall subを使ってプログラム2を呼び出すということはしたくないのですが このsub を終了しても変数が消えないようにするには ワークシートのセルに代入するか...
View Articlesubを連続で実行する
http://oshiete.goo.ne.jp/qa/8901279.html このページで外部資源を用いないと変数を保存できないことを教えていただきました。 それと関連した別の質問なのですが あるsub 1を実行し、それの終了とともに別のsub 2を実行したいのですが call subを使う方法だと必ずsubの中で別のsubを呼び出すかたちになってしまいます。...
View ArticleVBフォームの時間入力
労働時間を計算する入力フォームです。 出勤時間として、 テキストボックス1に(時間)、テキストボックス2に(分)を入力する。 退社時間として、 テキストボックス3に(時間)、テキストボックス4に(分)を入力する。 コマンドボタン1を押してセルA1に出勤時間、B1に退社時間を転記させる。例 13:40 休暇の時は入力はしないので、コマンドボタン1を押して空欄にしたいです。...
View ArticleVBでコンボボックスをテーブルのように扱いたい
VB.net 2010での質問です。 外部テキストファイルを読み込んで、フォーム上のコンボボックスに入れるのは簡単にできましたが、 ボタンを押したときに、選んだコンボボックスの該当データのうち一部だけを取り出して他データとからめつつ処理して表示させたいのです。 テキストファイルが以下のようになっています。データ件数は多くはありません。 阿部,北海道,10001,2001/05/01...
View ArticleVBユーザーフォームで時間入力
勤務時間を入力して労働時間を計算するユーザーフォームです。 出勤時間として、 テキストボックス1に(時間)、例えば13と 入力。 テキストボックス2に(分)、例えば40と入力。 退社時間として、 テキストボックス3に(時間)、例えば18と入力。 テキストボックス4に(分)、例えば30と入力。 コマンドボタン1を押して、sheet1のA1セルに出勤時間、B1のセルに退社時間を転記させたい。...
View ArticleAccess2013Dir関数について
Access2013でフォームを開くときにDir関数を使い、リンクテーブル先(共有フォルダ)にlaccdbがないかを確認しています。 その際に誰も開いてないのにファイル存在有と出てしまうのですが、どうしてでしょうか。...
View ArticleVBAの構文をご指導お願いいたします
EXCELでシフト表を作成していますが次の操作をVBAで処理したいと考えていますが初心者で難しく教えて頂きたく宜しくお願いいたします。 1.sheet1でB1~AF1に日付、A2~A15に名前、日ごとに担当者を決め役割を記号(1)、(2)、(1)、(2)、等の記号をセルに入れてAさんは1日には(1)2日は(2)とこんな感じでシフト表を作成しています...
View ArticleEXCEL・VBAでの検索ダイアログのクリア
一番目のマクロで Application.SendKeys ("^f") として検索ダイアログを表示し、 マクロ終了後、手動で検索ダイアログを利用した後、 二番目のマクロの頭で、表示中の検索ダイアログを消そうとして Application.SendKeys "{ESCAPE}" と記述しました。しかしダイアログは消えず、マクロも進みません。 検索ダイアログの消し方を教えていただけないですか。...
View ArticleVBA; ユーザーフォームからの処理
Excel 2007を使用しています。 下記のようなことを考えています。 1. テキストボックスにYYYY/M形式の日付データを入力 2. コマンドボタンを押下。 3. 日付データを確認 4. オリジナル(sheet1)の列値、日付データ(A列)、商品番号(B列)、商品名(C列)から条件に 該当した行をサマリー(sheet2)にコピー。...
View ArticleVBA; ユーザーフォームからの処理 - 2
申し訳ございませんが、質問させてください。 eden3616さん、補足入力できなかったので再質問しています Excel 2007を使用しています。 下記のようなことを考えています。 1. テキストボックスにYYYY/M形式の日付データを入力 2. 実行ボタンを押下。 3. 日付データを確認 4. オリジナルシート、日付データ(A列)、商品番号(B列)、商品名(C列)、購入状況(D列)から条件に...
View Articleシートに張り付けたボタンがシートのコピーで消える。
Excel2003で作成した図書館員の当番表でマクロで当番表を自動作成させています。 サンプルとして用意した当番表のシートを実際の月当番表を作成するときに、シートのコピーをして作成します。シートはコピーされたのですが、そのシートに張り付けた印刷ボタン(クリックすると自動印刷)が今まで一緒にコピーされたのですが、コピーされません。 マイクロソフトの前回の問題と関係するのでしょうか?...
View ArticleVBAで、選択範囲の合計を表示するマクロを作りたい
あるセル範囲(例えばB1:G1)にそれぞれ数値が入力されていたとします。 入力ダイアログでその範囲を指定し、その範囲内の数値の合計値を表示するマクロを作りたいのですが、やり方が分かりません。 セル範囲を入力させるプログラムはこれで合っていますか? Sub セル範囲の合計() Dim 範囲 As Range 範囲 = appllication.InputBox(prompt:="セル範囲は?",...
View ArticleAccess VBAで複数行を1行にする方法
いつも参考にさせていただいています。 今回、新規の注文を受けることになり、データフォーマットを見せてもらったのですが、 ヘッダーと明細情報の1:Nになっていました。 これを1行づつにしたいのですが、明細行にヘッダー行とのキーになる項目がありません。 いろいろ試してみましたが、うまくいきませんでした、ご教授していただければ幸いです。 データ 項目1 項目2 項目3 項目4 項目5 1...
View ArticleアクティブなIEのタブをVBAで掴む
いつもお世話になっております。 アクティブになっているIEのタブを掴むコード作りました。 ユーザーフォームにマクロを登録したボタンを配置して使っています。 WIN32APIのFindWindow関数でアクティブなIEを掴み、 アクティブなIEのタブでないと、ステータスバーに 文字を入力できないことを利用してアクティブなタブを識別しています。...
View ArticleExcelVBA セルの文字の取得
Excel2010 VBAについてご教授願います。 あるセルに以下の様な内容が有ったとします。 (数字の部分は変動しますが、数字5桁+「-」+数字3桁+「-」数字3桁の フォーマットとします。 改行も変動します。) セルの内容 12345-678-001 あああ。(改行) 12345-678-002 いいいいい12345-678-003ううう。(改行) 23456-789-010...
View Articleテキストボックスの日付と文字列の処理
Excel 2007 VBAを使用しています。 下記のようなことを考えています。 1. テキストボックスにyyyy/m形式の日付データを入力 2. ボタンシートのコマンドボタンを押下。 3. テキストボックスの日付データを確認 4. 商品シートの列値、日付データ(A列)、商品番号(B列)、商品名(C列)、状況(D列)から条件に 該当した行を結果シートに行コピー。...
View Article隠していたユーザーフォームを再び表示したい
ExcelVBA をExcel2007で苦戦している初心者です。 マクロ記載のAブックとBブックを使っています。 Aブックのユーザーフォーム「表紙」にあるボタンをクリックして Private Sub CommandButton11_Click() 表紙.Hide Workbooks.Open Filename:=ThisWorkbook.Path & "\改善案.xlsm"...
View Article空白セルの記述方法
Excel VBAで日付データがA列、通貨データがB列にあるとして シート1のセル(A:1)、セル(B:2)が空白セルとして条件式を作りたいのですが記述方法はどのようになりますか? 下記でよろしいでしょうか? If CDate(sheet1.cell(A:1).value) = Empty then If CCur(sheet1.cell(B:1).value) = Empty then
View Article