ExcelVBA

2017年3月29日 (水)

【EXCEL VBA】シート上のある一部分のみを見せたい。

 EXCEL図書管理Ver2.10xでは、MENUシートという各処理ボタンが配置され、処理後には必ず戻るシートがあります。このMENUシートの絵柄を変えることができるようにもしています。その場合に、絵柄をサンプル的に見ることができるようにしていますが、その絵柄=画像を貼り付けたのは、他の規定値も配置しているシートなので、その絵柄がある部分のみを見せたいと思い、下記のようなコードとしていました。

Application.Goto Sheets("table").Range("t161"), True
ActiveWindow.FreezePanes = True
まず、GotoでtableシートのT161セルにカーソルを飛ばし、T161セルが画面の左上隅になるようにします。次に、アクティブになっているはずのT161セルで画面固定するという文です。
しかし、これでは、画面固定が画面中央のセル部分で行われてしまいます。EXCEL2010。
原因不明。

 goto文の前に、ActiveWindow.FreezePanes = false を入れても変わらず。

続きを読む "【EXCEL VBA】シート上のある一部分のみを見せたい。"

| | コメント (0) | トラックバック (0)

2017年3月25日 (土)

[VBA] Msgboxでエラー13

 処理の開始や終了、処理選択を聞く場合などで、ユーザーにメッセージを伝えるために、MSGBOX()は結構多用しています。
 なにも考えずに使用してきたので、エラーがでたのに、驚いた次第です。

例:セル内容をmsgboxで表示させる処理。
   msgbox range("a1").value

     A1セルが、エラーだとmsgboxはエラー13でストップします。
  エラー値はそれを受け取ることができないという事らしいです。

  なので、この場合、A1セルの関数式の外側に、iferror()でネストしてやれば、良いようです。


  

続きを読む "[VBA] Msgboxでエラー13"

| | コメント (0) | トラックバック (0)

【VBA】 Application.inputboxでセル範囲の値を指定する。

 EXCELのマクロでデータ処理をする場合、セル範囲を都度、決めて行っています。
先頭行はほとんどの場合固定ですが、最終行はその都度end(xlup).rowなどで求めたり、固定のセル範囲だったり、currentregionでセルの連続領域を求めたりしています。
ユーザーが指定してから、その範囲について処理する場合、application.inputboxが使えるようです。

 そんな場合のコードです。

続きを読む "【VBA】 Application.inputboxでセル範囲の値を指定する。"

| | コメント (0) | トラックバック (0)

2017年2月12日 (日)

【ExcelVBA】 InputboxでIMEをonにする。

 数字で選択してもらうとか、指定範囲を入力してもらうとか、値を入力してもらう場合、わざわざUserformを作成するまでもない時に、inputboxはなかなか簡便で便利です。 お手軽なだけに、いろいろと制御ができないことがあります。今回のテーマのように、INPUTBOXで、漢字を入力してもらうとか、英字を入力してもらうとかの場合に、IMEを切り替えてから入力するのも面倒です。希望のIME状態にして、inputboxで入力したいものです。
 

続きを読む "【ExcelVBA】 InputboxでIMEをonにする。"

| | コメント (0) | トラックバック (0)

2017年1月18日 (水)

EXCELで契約書管理 その4

 前回作成したVBA契約書管理ブックを少し修正してみました。
契約書一覧ファイルの配布をどうするか。
契約書一覧から、特定の言葉を検索するのを簡単にできないか。

この2点についてです。

 ブックごとに共有設定してみてもらうというのもありますが、
その際に、契約書シート自体を参照してもらうという場合、
データが変わる可能性があり、あまり好ましくないように
思われます。

 また、検索語句で該当する契約書番号を調べる場合、
フィルターで、該当する列ごとに検索語を指定すれば良いとは
いえ、少し面倒です。

ちなみに、過去の記事は、下記の通り。 

EXCELで契約書管理 その3   ブックDL可能
http://engi.cocolog-nifty.com/sirenai/2016/04/excel-251e.html

EXCELで契約書管理 その2
http://engi.cocolog-nifty.com/sirenai/2016/04/excel-3629.html

EXCELで契約書管理 その1
http://engi.cocolog-nifty.com/sirenai/2016/04/excel-e9d5.html

続きを読む "EXCELで契約書管理 その4"

| | コメント (0) | トラックバック (0)

2016年12月 1日 (木)

カレンダー形式でスケジュール管理(VBA)、Vectorに。

 Vectorに、カレンダー形式で表示するスケジュール管理の
エクセルブックをアップいたしました。

  

http://www.vector.co.jp/soft/winnt/personal/se514646.html
  動作条件: Win版Excel2010(32ビット)で作成。

日付セルをダブルクリックすると、予定の新規・更新・削除が
できます。

 少人数の組織のスケジュール管理などで、使い道が
あるかもしれません。

続きを読む "カレンダー形式でスケジュール管理(VBA)、Vectorに。"

| | コメント (0) | トラックバック (0)

2016年11月18日 (金)

【Excel VBA】 msgboxでシート切り替え

 ウインドウ下部にあるシートタブにマウス移動して、
クリックするのは、結構面倒なので、メッセージボックスの「いいえ」で
切り替えできるコードを作ってみた。

 定型ブック・シートを配布し、それを回収して集計するような場合、
お目当てのシートがアクティブになっていなかったり、シート名がバラバラ
だったり、いろいろとする場合、ブックオープンして、シート切り替えするのが
面倒だったりするので、作成してみた次第。

 ある処理の一部で、使用することになるコードです。

続きを読む "【Excel VBA】 msgboxでシート切り替え"

| | コメント (0) | トラックバック (0)

2016年8月21日 (日)

カレンダー形式でスケジュール管理 (EXCEL2010-VBA) その2

 前回のカレンダー形式でのスケジュール管理(エクセル・マクロブック)では、
2020年くらいまでのスケジュールを用意して、ほぼ実用としてラグを感じない
程度の表示切替でしたが、更にスケジュール件数を増やした場合に、ラグと
感じましたので、コードを見直してみました。

 そもそもから言えば、スケジュール表の件数を1件1件、カレンダー表の日付
と比較し、合致すれば、C,D列のデータをスケジュール表から転記するように
していましたが、検索元と検索先を逆にして、カレンダー表の日付を基に、
スケジュール表の何番目の行であるかを調べ、その行のC,D列の値を
カレンダー表に転記するように変更しました。

 これで、スケジュール表が何行になっても、遅延は発生しないように
思われます。

 合わせて、操作説明を入れてみました。

続きを読む "カレンダー形式でスケジュール管理 (EXCEL2010-VBA) その2"

| | コメント (2) | トラックバック (0)

2016年8月15日 (月)

カレンダー形式でスケジュール管理 (EXCEL2010-VBA)

カレンダー形式でスケジュール管理 (エクセルVBA)を行う場合、

 A列   B列
年月日  予定・内容
2016/7/1 AM10:00~1h:●●打ち合わせ(102会議室)
2016/7/2 ・・・・・・・・
などのリスト形式で作成しています。

Sukejuru

 ただ、1か月単位で業務・作業を行う場合には、カレンダー形式の方が直感的に分かり易かったりします。ですが、カレンダー形式のスケジュール表示では、複数件の予定を長い内容で表示するのが難しかったりします。
 カレンダー形式の日付のところには、短い語句を表示し、何らかの操作等で詳細の予定が表示されると、使えそうにも思えます。
 どのようにすれば、このようにできるのかは先で考えるとして、まずは、試しに、できるところまで作ってみることにしたいと思います。

こちらを参考にして万年カレンダーを作ります。
「 2015.07.24
基本から学べる!Excelで万年カレンダーを作成する方法」
http://liginc.co.jp/life/useful-info/32505

 このままでは、日付けのせるしかなく、内容を入力する事が出来ないので
日付の行の下に、それぞれ行を挿入し、日付セルの下に内容(入力)セル
があるようにします。

しかし、この万年カレンダーにメモを入力すると、月が替わっても
メモはそのまま残り、日付とメモ(セルの内容)が連動しません。

では、どうするか。

続きを読む "カレンダー形式でスケジュール管理 (EXCEL2010-VBA)"

| | コメント (0) | トラックバック (0)

2016年8月12日 (金)

あみだくじ (ExcelVBA)

くじ繋がりということで、あみだくじをEXCEL-VBAで
作ってみました。

Amida_kuji

2行目の色がついているセルをアクティブにして
Startボタンクリックで、上から下へアクティブセルが
自動で下に移動します。

「AllGo」ボタンでは、C2,E2・・・と2行目のグレー背景色の
セル毎に、自動で下に移動していきます。

グレーの背景色は、カラー番号15です。
アクティブセルの右横セルが同じカラー番号である15番号で
あれば、右横セルをアクティブにします。右横セルではなく、
左横セルが背景色15番なら、左セルをアクティブにします。

続きを読む "あみだくじ (ExcelVBA)"

| | コメント (0) | トラックバック (0)

より以前の記事一覧