検索
タグクラウド
プロフィール
yoshimatsuさんの画像
yoshimatsu
60過ぎのおっちゃんです。同じ年齢層の中ではそこそこパソコンが使える方だと自負しています。今まで会社等で学んだ知識等を紹介していきたいと思います。

広告

この広告は30日以上更新がないブログに表示されております。
新規記事の投稿を行うことで、非表示にすることが可能です。
posted by fanblog

2016年10月17日

エクセル(技),図形にマクロ

ふとんクリーナーはレイコップ


マイクロソフトアクセスはこちら

人気ブログランキングへ




図形にマクロを登録してみましょう。

下記のように右クリックで「マクロの登録」を選択。

図にマクロ1.png

sample4を選択して「OK」ボタンを押すと登録します。

図にマクロ2.png

下記のように図形を押すとフォームが出現します。

現在sample4にはユーザーフォーム4を開くマクロが登録されているためです。

図にマクロ3.png

このようにあらゆる図形にマクロを登録することが出来ます。











2016年10月16日

エクセル(Excel)技,ボタン





【 リュミエリーナ認証正規販売店 ビューティーパーク 】


マイクロソフトアクセスはこちら

人気ブログランキングへ



図形でスイッチを作る

下のように四角を作り右クリックでメニューを表示して「図形の書式設定」を選択します。

図形ボタン1.png

図形の書式設定を選択すると下記表示になりますので、そこから3−D書式を選択して、

「上」で適当なものを選択する。


図形ボタン2.png

下のようにボタンのような図形になります。

図形ボタン3.png







2016年10月15日

エクセル,技

【レイコップ】安心の2年保障は公式ストアだけ!


マイクロソフトアクセスはこちら

人気ブログランキングへ





線の引き方。
線引き1.png

普通に線を引くとなかなか真っすぐに引けないですね。

こんな時「Shift」キーを押しながら線を引くと真っすぐな線が引ける。

線引き2.png

上図は「Shift」キーを押しながら線を引いた結果です。真っすぐに引けてますね。

これは縦でも横でも真っすぐ引けます。斜めにした場合は45度の角度で真っすぐになります。

これはワードでも同じことが出来ます。結構便利ですよ。


四角の作り方

Altキーを押しながら描画するとセルと同じ大きさの四角が出来る。

四角.png

上のようにセルと同じ大きさの四角が出来ました。






a href=" https://px.a8.net/svt/ejp?a8mat=2NSTUY+9Z0EK2+1XRE+TTTEP " target="_blank">





2016年10月13日

エクセル(Excel)技,VBA,オプションボタン





マイクロソフトアクセスはこちら

人気ブログランキングへ




オプションボタンは複数の選択肢の中から1つを選択する場合に使用します。

作成方法

オプションボタン1.png

上記のようにフォームを作成して「コントロール」から「フレーム」を押して、

フォーム上で四角を描くようにマウスを動かしてください。

下図のように「Frame1」という枠が出来ます。

オプションボタン2.png

オプションボタン3.png

上図のようにオプションボタンをいくつか「Frame1」内に配置したところです。

当然「Frame1」・「OptionButton」の名称は自由に変更できます。

今回はユーザーフォーム4ですが、これを開くコードを入力して開いた場合、下記になります。

これはイメージだけで何も動作しません。

オプションボタン4.png

動作確認をするために「コマンドボタン」を追加します。コードはこのコマンドボタンに書きます。

オプションボタン5.png

コマンドボタンをダブルクリックしコードの画面にして、下記入力してください。

オプションボタン6.png

たぶん説明は不要と思いますが、一応説明を付けます。

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  ‘このコードの終了

オプションボタン7.png

ユーザーフォーム4を開いてオプションボタンを選択してコマンドボタンを押すと上のような

メッセージボックスが表示されます。

上記のようにオプションボタンを使用する場合はFrameで枠を作ってその中に

オプションボタンを配置してください。

そのようにすると複数配置しても1ケしか選択出来ない状態になります。

単独でオプションボタンを使用する場合はFrameを使用する必要はありません。



ここまでエクセルVBAについて書いてきました。

なんとなく簡単なコードは書けるようになったと思います。

あとは実際に自分が必要と思われる時に、色々悩んで、工夫して作っていく方が

自分の実力になると思います。

それから大体のことはネットで調べれば出て来ます。

エクセルでこんなことがしたい、あんなことがしたいと検索すれば大体わかります。

基本的なことはここで書いてきたつもりです。



ここで一旦VBAは終了します。

次回からはまたエクセルの小技に戻るつもりです。










2016年10月12日

エクセル(Excel)技,VBA,チェックボックス





マイクロソフトアクセスはこちら

人気ブログランキングへ




チェックボックスの作り方

ユーザーフォームに下記のように「チェックボックス」と「コマンドボタン」を配置します。

チェックボックス.png

「コマンドボタン」をダブルクリックしてコードを入力できる状態にして下記コードを入力してください。

チェックボックス2.png

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を開いてください。

チェックボックス3.png

上記のようにチェックがない状態でコマンドボタンを押すと上のように「チェックが入っていません」

というメッセージボックスが表示されます。

チェックを入れてからコマンドボタンを押すと「チェックが入っています」と表示されます。












2016年10月09日

エクセル(Excel)技,VBA,コンボボックス





マイクロソフトアクセスはこちら

人気ブログランキングへ





【コンボボックス】

コンボボックスの作り方

ユーザーフォームにコンボボックスを作成します。

下記のようになります。

コンボボックス1.png

ユーザーフォーム内でダブルクリックすると下記のようにユーザーフォームの

プログラム作成画面になります。

コンボボックス2.png

ご購入は、リュミエリーナ認証正規販売店へ


ここに下記のように入力してください。

コンボボックス3.png


それから標準モジュール等に、このフォームをオープンさせるマクロを作成してください。

Sub sample2()

UserForm2.Show

End Sub

今回はUserForm2を使用しています。

エクセルシートに戻ってマクロから「UserForm2」を

開いてください。下記のようになりましたか?

コンボボックスの右側の▼を押すとリストが表示されます。

コンボボックス4.png

コンボボックスはこのようにして作成します。










2016年10月07日

エクセル(Excel),技,VBA,フォーム

ご購入は、リュミエリーナ認証正規販売店へ


マイクロソフトアクセスはこちら

人気ブログランキングへ





それからエクセルを開いてこのユーザーフォームを表示できるようにしましょう。

フォーム4.png
マクロで上記のように
Sub sample()

UserForm1.Show

End Sub

UserForm1.Showと記述してマクロを実行すると、


フォーム5.png
上記のようにエクセルシート上にユーザーフォームが出現します。今はこのユーザーフォーム

には何もVBAは記述してないので何も動きません。

とりあえずユーザーフォームの表示方法だけです。

イメージとしては「氏名」「部」「課」「性別」「入社年月日」を入力して「登録」ボタンを押すと

先ほどのエクセルシートの一番下か一番上に追加されて、フォームに入力されている

データが消去されるような動作を考えればいいということになります。

フォーム6.png

VBAのフォーム画面にして氏名の右側の枠をクリックすると上記のように選択されます。

その時に左側にある「プロパティ‐TextBox1というところがありますね。

ここからテキストボックスの名前がTextBox1ということが分かります。

「部」の右側はTextBox2・「課」の右側はTextBox3・性別の右側はTextBox4・

入社年月日の右側はTextBox5になっています。この名前はVBAを記述する際重要になります。

VBAというのはボタンにも記述できますし、テキストボックスにも記述できます。

フォーム7.png

ちなみにTextBox1にマウスをあわせてダブルクリックすると上記のようなTextBox1に

記述できるようにVBAが準備されます。今回はここには何も記述しませんので消してください。

今回VBAの記述をするのは「登録」ボタンです。登録ボタンをダブルクリックすると下記のような

画面になります。

フォーム8.png

Private Sub CommandButton1_Click()

ここにVBAを記述していきます。

End Sub

フォーム9.png

上記の内容を記述します。

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を開き「挿入」で「ユーザーフォーム」をクリックします。

フォーム1.png

下記のような画面になりましたか

フォーム2.png

真ん中あたりに点々がいっぱいある四角の枠がユーザーフォームです。

その横に「ツールボックス」ということで「コントロール」が色々あります。

その中から「テキストボックス」を選んでフォーム上に配置すれば入力用の

テキストボックスになります。またそれ以外にも「ラベル」とか「ボタン」とか

「チェッボックス」とか用意されています。

少しこのフォームを使って練習してみましょう。

フォーム3.png

上記のエクセルの部分に「担当者一覧」というタブに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の数字を変更すれば任意の秒数で設定できます。












2016年10月02日

エクセル(Excel)技,VBA,メッセージボックス

マイクロソフトアクセスはこちら

人気ブログランキングへ





[メッセージボックスで引数Buttonsを使用する場合]

msg引数1.png

例)
Sub sample()

MsgBox "削除してもよろしいですか?", vbYesNo + vbExclamation, "削除の確認"

End Sub

上記のマクロを実行すると下のようなメッセージボックスが表示されます。

msg引数2.png

MsgBox "削除してもよろしいですか?", vbYesNo + vbExclamation, "削除の確認"

この部分ですが、MsgBox "削除してもよろしいですか?"ここまでは「削除しても

よろしいですか?」というメッセージを表示するだけ。

vbYesNo + vbExclamation,は[引数Buttons]の部分です。

最後の"削除の確認"は[, Title]の部分です。











Build a Mobile Site
スマートフォン版を閲覧 | PC版を閲覧
Share by: