新規記事の投稿を行うことで、非表示にすることが可能です。
2016年10月18日
エクセル,技,ウィンドウ
マイクロソフトアクセスはこちら
人気ブログランキングへ
ウィンドウ枠の固定
表が大きい場合上下左右にスクロールした時に1行目の表題が見えなくなって
何を表示しているのか分からなくなったりします。
そのようなときに「ウィンドウ枠の固定」を使用します。
現在「B2」を選択した状態で「表示」タブの「ウィンドウ枠の固定」を選択して、
さらに下の「ウィンドウ枠の固定」を選択。
そうすると1行目と2行目の間と、A列とB列の間に線が入ります。
この線より上と左は固定されます。
今下方向にスクロールして1行目の下が17行目になっていますね。
2行目から16行目までは非表示になっている状態です。
右にスクロールしても同じようになります。
大きな表を見る際には便利な機能です。
ウィンドウの分割
次は「分割」です。上のように「分割」を押すと4画面に分割されます。
左上はA・B列の1行目から10行目が表示されています。
左下はA・B列の38行目以降が表示されています。
右上・右下もそれぞれ違う場所を表示しています。
このように「分割」すると離れた場所も同じ画面上で見ることが出来ます。
タグ:エクセル,技,ウィンドウ
2016年10月17日
エクセル(技),図形にマクロ
ふとんクリーナーはレイコップ
マイクロソフトアクセスはこちら
人気ブログランキングへ
図形にマクロを登録してみましょう。
下記のように右クリックで「マクロの登録」を選択。
sample4を選択して「OK」ボタンを押すと登録します。
下記のように図形を押すとフォームが出現します。
現在sample4にはユーザーフォーム4を開くマクロが登録されているためです。
このようにあらゆる図形にマクロを登録することが出来ます。
マイクロソフトアクセスはこちら
人気ブログランキングへ
図形にマクロを登録してみましょう。
下記のように右クリックで「マクロの登録」を選択。
sample4を選択して「OK」ボタンを押すと登録します。
下記のように図形を押すとフォームが出現します。
現在sample4にはユーザーフォーム4を開くマクロが登録されているためです。
このようにあらゆる図形にマクロを登録することが出来ます。
タグ:エクセル,図形にマクロ
2016年10月16日
エクセル(Excel)技,ボタン
【 リュミエリーナ認証正規販売店 ビューティーパーク 】
マイクロソフトアクセスはこちら
人気ブログランキングへ
図形でスイッチを作る
下のように四角を作り右クリックでメニューを表示して「図形の書式設定」を選択します。
図形の書式設定を選択すると下記表示になりますので、そこから3−D書式を選択して、
「上」で適当なものを選択する。
下のようにボタンのような図形になります。
タグ:エクセル3Dボタン
2016年10月15日
エクセル,技
【レイコップ】安心の2年保障は公式ストアだけ!
マイクロソフトアクセスはこちら
人気ブログランキングへ
線の引き方。
普通に線を引くとなかなか真っすぐに引けないですね。
こんな時「Shift」キーを押しながら線を引くと真っすぐな線が引ける。
上図は「Shift」キーを押しながら線を引いた結果です。真っすぐに引けてますね。
これは縦でも横でも真っすぐ引けます。斜めにした場合は45度の角度で真っすぐになります。
これはワードでも同じことが出来ます。結構便利ですよ。
四角の作り方
Altキーを押しながら描画するとセルと同じ大きさの四角が出来る。
上のようにセルと同じ大きさの四角が出来ました。
a href="https://px.a8.net/svt/ejp?a8mat=2NSTUY+9Z0EK2+1XRE+TTTEP" target="_blank">
マイクロソフトアクセスはこちら
人気ブログランキングへ
線の引き方。
普通に線を引くとなかなか真っすぐに引けないですね。
こんな時「Shift」キーを押しながら線を引くと真っすぐな線が引ける。
上図は「Shift」キーを押しながら線を引いた結果です。真っすぐに引けてますね。
これは縦でも横でも真っすぐ引けます。斜めにした場合は45度の角度で真っすぐになります。
これはワードでも同じことが出来ます。結構便利ですよ。
四角の作り方
Altキーを押しながら描画するとセルと同じ大きさの四角が出来る。
上のようにセルと同じ大きさの四角が出来ました。
a href="https://px.a8.net/svt/ejp?a8mat=2NSTUY+9Z0EK2+1XRE+TTTEP" target="_blank">
タグ:エクセル,技,線
2016年10月13日
エクセル(Excel)技,VBA,オプションボタン
マイクロソフトアクセスはこちら
人気ブログランキングへ
オプションボタンは複数の選択肢の中から1つを選択する場合に使用します。
作成方法
上記のようにフォームを作成して「コントロール」から「フレーム」を押して、
フォーム上で四角を描くようにマウスを動かしてください。
下図のように「Frame1」という枠が出来ます。
上図のようにオプションボタンをいくつか「Frame1」内に配置したところです。
当然「Frame1」・「OptionButton」の名称は自由に変更できます。
今回はユーザーフォーム4ですが、これを開くコードを入力して開いた場合、下記になります。
これはイメージだけで何も動作しません。
動作確認をするために「コマンドボタン」を追加します。コードはこのコマンドボタンに書きます。
コマンドボタンをダブルクリックしコードの画面にして、下記入力してください。
たぶん説明は不要と思いますが、一応説明を付けます。
Private Sub CommandButton1_Click() ‘コマンドボタン1をクリックした時のマクロ名称
Dim a As Variant ‘変数aの宣言
Dim b As Variant ‘変数bの宣言
Dim c As Variant ‘変数cの宣言
a = UserForm4.OptionButton1.Value ‘変数aにはオプションボタン1の状態を代入
b = UserForm4.OptionButton2.Value ‘変数bにはオプションボタン2の状態を代入
c = UserForm4.OptionButton3.Value ‘変数cにはオプションボタン3の状態を代入
If a = True Then ‘もし変数aがONの時
MsgBox "オプション1を選択しています" ‘「オプション1を選択しています」というメッセージ
ElseIf b = True Then ‘もし変数bがONの時
MsgBox "オプション2を選択しています" ‘「オプション2を選択しています」というメッセージ
ElseIf c = True Then ‘もし変数cがONの時
MsgBox "オプション3を選択しています" ‘「オプション3を選択しています」というメッセージ
End If ‘IF文の終了
End Sub ‘このコードの終了
ユーザーフォーム4を開いてオプションボタンを選択してコマンドボタンを押すと上のような
メッセージボックスが表示されます。
上記のようにオプションボタンを使用する場合はFrameで枠を作ってその中に
オプションボタンを配置してください。
そのようにすると複数配置しても1ケしか選択出来ない状態になります。
単独でオプションボタンを使用する場合はFrameを使用する必要はありません。
ここまでエクセルVBAについて書いてきました。
なんとなく簡単なコードは書けるようになったと思います。
あとは実際に自分が必要と思われる時に、色々悩んで、工夫して作っていく方が
自分の実力になると思います。
それから大体のことはネットで調べれば出て来ます。
エクセルでこんなことがしたい、あんなことがしたいと検索すれば大体わかります。
基本的なことはここで書いてきたつもりです。
ここで一旦VBAは終了します。
次回からはまたエクセルの小技に戻るつもりです。
2016年10月12日
エクセル(Excel)技,VBA,チェックボックス
マイクロソフトアクセスはこちら
人気ブログランキングへ
チェックボックスの作り方
ユーザーフォームに下記のように「チェックボックス」と「コマンドボタン」を配置します。
「コマンドボタン」をダブルクリックしてコードを入力できる状態にして下記コードを入力してください。
Private Sub CommandButton1_Click() ‘コマンドボタンをクリックした時のコードの名称
Dim Check As Variant ‘変数Checkを宣言する
Check = UserForm3.CheckBox1.Value ‘変数Checkはユーザーフォーム3の
チェックボックス1の状態である。
If Check = True Then ‘変数CheckがTrue(真)ならば
MsgBox "チェックが入っています" ‘メッセージボックスで「チェックが入っています」と表示
ElseIf Check = False Then ‘変数がFalse(偽)ならば
MsgBox "チェックが入っていません" ‘「チェックが入ってません」というメッセージを表示
End If ‘IFの終了
End Sub ‘コマンドボタン1のプログラム終了
上記を入力したらユーザーフォーム3を開けるマクロを仕込んで、ユーザーフォーム3を開いてください。
上記のようにチェックがない状態でコマンドボタンを押すと上のように「チェックが入っていません」
というメッセージボックスが表示されます。
チェックを入れてからコマンドボタンを押すと「チェックが入っています」と表示されます。
2016年10月09日
エクセル(Excel)技,VBA,コンボボックス
マイクロソフトアクセスはこちら
人気ブログランキングへ
【コンボボックス】
コンボボックスの作り方
ユーザーフォームにコンボボックスを作成します。
下記のようになります。
ユーザーフォーム内でダブルクリックすると下記のようにユーザーフォームの
プログラム作成画面になります。
ご購入は、リュミエリーナ認証正規販売店へ
ここに下記のように入力してください。
それから標準モジュール等に、このフォームをオープンさせるマクロを作成してください。
Sub sample2()
UserForm2.Show
End Sub
今回はUserForm2を使用しています。
エクセルシートに戻ってマクロから「UserForm2」を
開いてください。下記のようになりましたか?
コンボボックスの右側の▼を押すとリストが表示されます。
コンボボックスはこのようにして作成します。
2016年10月07日
エクセル(Excel),技,VBA,フォーム
ご購入は、リュミエリーナ認証正規販売店へ
マイクロソフトアクセスはこちら
人気ブログランキングへ
それからエクセルを開いてこのユーザーフォームを表示できるようにしましょう。
マクロで上記のように
Sub sample()
UserForm1.Show
End Sub
UserForm1.Showと記述してマクロを実行すると、
上記のようにエクセルシート上にユーザーフォームが出現します。今はこのユーザーフォーム
には何もVBAは記述してないので何も動きません。
とりあえずユーザーフォームの表示方法だけです。
イメージとしては「氏名」「部」「課」「性別」「入社年月日」を入力して「登録」ボタンを押すと
先ほどのエクセルシートの一番下か一番上に追加されて、フォームに入力されている
データが消去されるような動作を考えればいいということになります。
VBAのフォーム画面にして氏名の右側の枠をクリックすると上記のように選択されます。
その時に左側にある「プロパティ‐TextBox1というところがありますね。
ここからテキストボックスの名前がTextBox1ということが分かります。
「部」の右側はTextBox2・「課」の右側はTextBox3・性別の右側はTextBox4・
入社年月日の右側はTextBox5になっています。この名前はVBAを記述する際重要になります。
VBAというのはボタンにも記述できますし、テキストボックスにも記述できます。
ちなみにTextBox1にマウスをあわせてダブルクリックすると上記のようなTextBox1に
記述できるようにVBAが準備されます。今回はここには何も記述しませんので消してください。
今回VBAの記述をするのは「登録」ボタンです。登録ボタンをダブルクリックすると下記のような
画面になります。
Private Sub CommandButton1_Click()
ここにVBAを記述していきます。
End Sub
上記の内容を記述します。
Private Sub CommandButton1_Click() ‘これはマクロの名前です。ボタン1のマクロという意味
If TextBox1 = "" Then ‘もしテキストボックス1が空欄であった場合(氏名の入力されないとき)
MsgBox "氏名を入力してください" ‘氏名を入力してくださいというメッセージが出る
ElseIf TextBox2 = "" Then ‘テキストボックス2が空欄(部が未入力)の場合
MsgBox "部を入力してください" ‘部を入力してくださいというメッセージが出る
ElseIf TextBox3 = "" Then ‘テキストボックス3が空欄(課が未入力)の場合
MsgBox "課を入力してください" ‘課を入力してくださいというメッセージが出る
ElseIf TextBox4 = "" Then ‘テキストボックス4が空欄(性別が未入力)の場合
MsgBox "性別を入力してください" ‘性別を入力してくださいというメッセージが出る
ElseIf TextBox5 = "" Then ‘テキストボックス5が空欄(入社日が未入力)の場合
MsgBox "入社年月日を入力してください" ‘入社年月日を入力してくださいという
メッセージが出る
End If ‘ここでIF文の終了
Sheets("担当者一覧").Select ‘エクセルの「担当者一覧」シートを選択する
Rows("2:2").Select ‘2行目を選択
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove ‘2行目に挿入
Sheets("担当者一覧").Range("a2").Value = UserForm1.TextBox1 ‘テキストボックス1を氏名にコピー
Sheets("担当者一覧").Range("b2").Value = UserForm1.TextBox2 ‘テキストボックス2を部にコピー
Sheets("担当者一覧").Range("c2").Value = UserForm1.TextBox3 ‘テキストボックス3を課にコピー
Sheets("担当者一覧").Range("d2").Value = UserForm1.TextBox4 ‘テキストボックス4を性別にコピー
Sheets("担当者一覧").Range("e2").Value = UserForm1.TextBox5 ‘テキストボックス5を入社年月日にコピー
UserForm1.TextBox1 = clearcontens ‘テキストボックス1を消去
UserForm1.TextBox2 = clearcontens ‘テキストボックス1を消去
UserForm1.TextBox3 = clearcontens ‘テキストボックス1を消去
UserForm1.TextBox4 = clearcontens ‘テキストボックス1を消去
UserForm1.TextBox5 = clearcontens ‘テキストボックス1を消去
End Sub ‘ボタン1のVBAを終了する
このマクロを実行してみてください。記入したデーターが一番上に追加されましたか。
そしてフォームの表示がすべて消えましたか?
ユーザーフォームはこのように使用します。
マイクロソフトアクセスはこちら
人気ブログランキングへ
それからエクセルを開いてこのユーザーフォームを表示できるようにしましょう。
マクロで上記のように
Sub sample()
UserForm1.Show
End Sub
UserForm1.Showと記述してマクロを実行すると、
上記のようにエクセルシート上にユーザーフォームが出現します。今はこのユーザーフォーム
には何もVBAは記述してないので何も動きません。
とりあえずユーザーフォームの表示方法だけです。
イメージとしては「氏名」「部」「課」「性別」「入社年月日」を入力して「登録」ボタンを押すと
先ほどのエクセルシートの一番下か一番上に追加されて、フォームに入力されている
データが消去されるような動作を考えればいいということになります。
VBAのフォーム画面にして氏名の右側の枠をクリックすると上記のように選択されます。
その時に左側にある「プロパティ‐TextBox1というところがありますね。
ここからテキストボックスの名前がTextBox1ということが分かります。
「部」の右側はTextBox2・「課」の右側はTextBox3・性別の右側はTextBox4・
入社年月日の右側はTextBox5になっています。この名前はVBAを記述する際重要になります。
VBAというのはボタンにも記述できますし、テキストボックスにも記述できます。
ちなみにTextBox1にマウスをあわせてダブルクリックすると上記のようなTextBox1に
記述できるようにVBAが準備されます。今回はここには何も記述しませんので消してください。
今回VBAの記述をするのは「登録」ボタンです。登録ボタンをダブルクリックすると下記のような
画面になります。
Private Sub CommandButton1_Click()
ここにVBAを記述していきます。
End Sub
上記の内容を記述します。
Private Sub CommandButton1_Click() ‘これはマクロの名前です。ボタン1のマクロという意味
If TextBox1 = "" Then ‘もしテキストボックス1が空欄であった場合(氏名の入力されないとき)
MsgBox "氏名を入力してください" ‘氏名を入力してくださいというメッセージが出る
ElseIf TextBox2 = "" Then ‘テキストボックス2が空欄(部が未入力)の場合
MsgBox "部を入力してください" ‘部を入力してくださいというメッセージが出る
ElseIf TextBox3 = "" Then ‘テキストボックス3が空欄(課が未入力)の場合
MsgBox "課を入力してください" ‘課を入力してくださいというメッセージが出る
ElseIf TextBox4 = "" Then ‘テキストボックス4が空欄(性別が未入力)の場合
MsgBox "性別を入力してください" ‘性別を入力してくださいというメッセージが出る
ElseIf TextBox5 = "" Then ‘テキストボックス5が空欄(入社日が未入力)の場合
MsgBox "入社年月日を入力してください" ‘入社年月日を入力してくださいという
メッセージが出る
End If ‘ここでIF文の終了
Sheets("担当者一覧").Select ‘エクセルの「担当者一覧」シートを選択する
Rows("2:2").Select ‘2行目を選択
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove ‘2行目に挿入
Sheets("担当者一覧").Range("a2").Value = UserForm1.TextBox1 ‘テキストボックス1を氏名にコピー
Sheets("担当者一覧").Range("b2").Value = UserForm1.TextBox2 ‘テキストボックス2を部にコピー
Sheets("担当者一覧").Range("c2").Value = UserForm1.TextBox3 ‘テキストボックス3を課にコピー
Sheets("担当者一覧").Range("d2").Value = UserForm1.TextBox4 ‘テキストボックス4を性別にコピー
Sheets("担当者一覧").Range("e2").Value = UserForm1.TextBox5 ‘テキストボックス5を入社年月日にコピー
UserForm1.TextBox1 = clearcontens ‘テキストボックス1を消去
UserForm1.TextBox2 = clearcontens ‘テキストボックス1を消去
UserForm1.TextBox3 = clearcontens ‘テキストボックス1を消去
UserForm1.TextBox4 = clearcontens ‘テキストボックス1を消去
UserForm1.TextBox5 = clearcontens ‘テキストボックス1を消去
End Sub ‘ボタン1のVBAを終了する
このマクロを実行してみてください。記入したデーターが一番上に追加されましたか。
そしてフォームの表示がすべて消えましたか?
ユーザーフォームはこのように使用します。
2016年10月06日
エクセル(Excel)技,VBA,,フォーム
マイクロソフトアクセスはこちら
人気ブログランキングへ
・フォームの作成
データベース等を作成して、エクセルシート上で入力用のセル等を作成する場合があると思います。
しかし、エクセルシート上に入力セルを設置すると、後でそのセルを移動したい場合、
大変なことになる場合があります。
プログラム(VBA)上でそのセル記述をすべて変更する必要があるからです。
例えばRange(“A1”)を入力用セルに設定して、そこに入力された値をデータベースに
取り込むようなVBAを組んでいるとします。
どうしてもシートの配置・バランス等々の理由でA2に移動したいと思います。
そうするとVBA上のA1という記述をすべてA2に変更しなければなりません。
VBAの記述が少ない場合は若干の修正で済むと思いますが、
VBAの記述が多い場合は大変です。(まあ検索・置換を使用する手もありますが)
そのようなことがないように入力用のフォームというのを作成できます。
リボンの「開発」でVBAを開き「挿入」で「ユーザーフォーム」をクリックします。
下記のような画面になりましたか
真ん中あたりに点々がいっぱいある四角の枠がユーザーフォームです。
その横に「ツールボックス」ということで「コントロール」が色々あります。
その中から「テキストボックス」を選んでフォーム上に配置すれば入力用の
テキストボックスになります。またそれ以外にも「ラベル」とか「ボタン」とか
「チェッボックス」とか用意されています。
少しこのフォームを使って練習してみましょう。
上記のエクセルの部分に「担当者一覧」というタブに23名分の担当者名と
部・課・性別・入社日のデータベースがあります。
そこに新規入力するために先ほど作ったフォームにテキストボックス・ラベルを各5つ、
ボタンを1つ配置して、それぞれ名前を付けてみました。
人気ブログランキングへ
・フォームの作成
データベース等を作成して、エクセルシート上で入力用のセル等を作成する場合があると思います。
しかし、エクセルシート上に入力セルを設置すると、後でそのセルを移動したい場合、
大変なことになる場合があります。
プログラム(VBA)上でそのセル記述をすべて変更する必要があるからです。
例えばRange(“A1”)を入力用セルに設定して、そこに入力された値をデータベースに
取り込むようなVBAを組んでいるとします。
どうしてもシートの配置・バランス等々の理由でA2に移動したいと思います。
そうするとVBA上のA1という記述をすべてA2に変更しなければなりません。
VBAの記述が少ない場合は若干の修正で済むと思いますが、
VBAの記述が多い場合は大変です。(まあ検索・置換を使用する手もありますが)
そのようなことがないように入力用のフォームというのを作成できます。
リボンの「開発」でVBAを開き「挿入」で「ユーザーフォーム」をクリックします。
下記のような画面になりましたか
真ん中あたりに点々がいっぱいある四角の枠がユーザーフォームです。
その横に「ツールボックス」ということで「コントロール」が色々あります。
その中から「テキストボックス」を選んでフォーム上に配置すれば入力用の
テキストボックスになります。またそれ以外にも「ラベル」とか「ボタン」とか
「チェッボックス」とか用意されています。
少しこのフォームを使って練習してみましょう。
上記のエクセルの部分に「担当者一覧」というタブに23名分の担当者名と
部・課・性別・入社日のデータベースがあります。
そこに新規入力するために先ほど作ったフォームにテキストボックス・ラベルを各5つ、
ボタンを1つ配置して、それぞれ名前を付けてみました。
タグ:エクセルフォーム
2016年10月04日
エクセル(Excel),技,VBA,タイマー
タイマー
プログラムの途中で少し時間を稼ぎたい時があります。
私の場合は印刷の時なのですが、宛先だけ変更して数百枚の印刷をする場合、
パソコン側かプリンタ側か不明ですが時々オーバーバッファして止まってしまう
ことがあります。
そんなことがないように1ページ分印刷を送ったら、次に印刷を送るまでに少し時間を稼ぐ。
そんな方法を取っています。
下記のプログラムをよく使用しますね。
newHour = Hour(Now()) ‘新しい時の設定
newMinute = Minute(Now()) ‘新しい分の設定
newSecond = Second(Now()) + 3 ‘新しい秒の設定、ここに3秒プラスしています
waitTime = TimeSerial(newHour, newMinute, newSecond) ‘待ち時間は新しい時・分・秒で
実際より3秒後の時間です
Application.Wait waitTime ‘waitTime(3秒後)まで、待ちなさいという命令
これで支障なく動作してくれるので、数百枚くらいの印刷をする必要がある場合は
上記のタイマーを入れてます。
+3の数字を変更すれば任意の秒数で設定できます。
プログラムの途中で少し時間を稼ぎたい時があります。
私の場合は印刷の時なのですが、宛先だけ変更して数百枚の印刷をする場合、
パソコン側かプリンタ側か不明ですが時々オーバーバッファして止まってしまう
ことがあります。
そんなことがないように1ページ分印刷を送ったら、次に印刷を送るまでに少し時間を稼ぐ。
そんな方法を取っています。
下記のプログラムをよく使用しますね。
newHour = Hour(Now()) ‘新しい時の設定
newMinute = Minute(Now()) ‘新しい分の設定
newSecond = Second(Now()) + 3 ‘新しい秒の設定、ここに3秒プラスしています
waitTime = TimeSerial(newHour, newMinute, newSecond) ‘待ち時間は新しい時・分・秒で
実際より3秒後の時間です
Application.Wait waitTime ‘waitTime(3秒後)まで、待ちなさいという命令
これで支障なく動作してくれるので、数百枚くらいの印刷をする必要がある場合は
上記のタイマーを入れてます。
+3の数字を変更すれば任意の秒数で設定できます。