パソコン教室・パソコンスクールISA渋谷STAFF BLOG

カラダとココロがアクティブになれる街★渋谷がもっと楽しくなれるBLOG

Browsing in パソコン便利

こんにちは。
インストラクターのhosoyaです。

今回は、Excelのワークシートに入力されているデータを
VBAで取得・確認をする方法についてご紹介します。

pic01.JPG

データは上図のものを使用します。
A2セルには、「=A1」というA1セルを参照する数式が入力されており、
「セルの書式設定」の機能を使って、曜日の表示形式にしています。
ここから、A2セルのデータを取得していきます。


■データの取得
A2セルのデータをVBAで取得するには、下記4通りの方法があります。
それぞれ「.(ドット)プロパティ名」の部分で、記述方法が変わっています。
(A)Range(”A2″) → 結果:40765
(B)Range(”A2″).Value → 結果:40765
(C)Range(”A2″).Formula → 結果:=A1
(D)Range(”A2″).Text → 結果:木曜日

(A)は(B)のValueプロパティを省略した形で、結果はどちらも「40765」になります。
これは一体、どんな数字なのでしょうか。

実はExcelでは、1900年1月1日を1とした数字で
全ての日付を認識しています。
今回の「40765」は、「1900年1月1日から数えて40765日目」という意味になります。

さて、次は(C)のFormulaプロパティの場合です。
Formulaプロパティは、セルに入力されている数式を取得します。
数式とは、下図の「数式バー」に表示されているデータになります。
pic02.JPG

最後に、(D)のTextプロパティです。
Textプロパティでは、実際にセルに表示されているデータを取得します。
セルには「木曜日」と表示されているので、見たままの通り、
「木曜日」というデータを取得することができます。


■データの確認方法
さて、データを受け取る場合には、ちゃんとデータが取得できているか、
取得したデータが希望通りのものか、という点がポイントになります。
そんな時、簡単にデータ確認ができる2つの方法をご紹介します!

★Msgbox Range(”A2″)
下図のような、メッセージボックスと呼ばれる小さなポップアップ画面に
受け取ったデータが表示されます。
pic03.JPG

 

★Debug.Print Range(”A2″)
こちらは、「イミディエイト ウィンドウ」という場所に、結果を表示させる方法です。イミディエイト ウィンドウは、「表示」メニューから表示・非表示の切り替えができます。
メッセージボックスは、実行の度に「OKボタン」をクリックしますが、
イミディエイト ウィンドウは、ただデータが表示されるだけなので、
確認後、そのまま編集を続行することができます。
pic04.JPG

以上がデータの取得・確認に関する記述方法になります。
プログラムでは、データの受け渡しは必要不可欠なものですので、
その都度、しっかり確認をしていきましょう!

 パソコンスクールISA渋谷校/hosoya

こんにちは。
インストラクターのhosoyaです。

今回は、VBAを使ってExcel上で計算を行う
4つの方法について、合計を求める計算を例に、
ご紹介したいと思います。

A B
1 点数
2 山田 75
3 佐藤 82
4 合計

まずは上図のような状態の時に、B4セルに合計を求めていきましょう。
VBAで計算を求めるには、大きく分けて4通りの方法があります。

■計算式を入力する場合
まずはB4セルに、合計を求める計算式を入力する方法です。

(A)Range(”B4″) = “=SUM(B2:B3)”
(B)Range(”B4″).Formula = “=SUM(B2:B3)”

正式には(A)で記述する必要がありますが、
(B)のような記述でも問題ありません。
上記の結果、B4セルには「=SUM(B2:B3)」という式が入力されます。

■計算結果を入力する場合
次に、VBA上で計算した結果のみを、B4セルに入力する方法です。

(A)Range(”B4″) = Range(”B2″) + Range(”B3″)
(B)Range(”B4″) = Application.WorksheetFunction.Sum(Range(”B2:B3″))

(A)はB2セルとB3セルの値を足して、B4セルに入力する記述です。
こちらはシンプルで分かりやすいと思います。

(B)でのポイントは、「Application.WorksheetFunction」です。
これは、普段はExcelで使用している関数を、VBAの中で使用する際に
宣言する記述です。
もしAVERAGE関数を使う場合には、
「Application.WorksheetFunction.Average(~)」となります。

上記の結果、B4セルには「157」という計算結果が入力されます。

計算式と計算結果のどちらを入力するのかは、場合によって変わりますが、
記述による実行結果の違いを、しっかり把握しておかないと
思わぬ結果を招くことがありますので、注意してください。

パソコンスクールISA渋谷校/hosoya

こんにちは。
今日はデフラグのお話です☆
みなさんは「デフラグ」ってご存知でしょうか?

私は数年前、パソコンを使用していたときに
PCの調子が悪く何を開くのにも、何かをするのにも
時間がかかったり、開かなかったりして困っていたところ
「デフラグをしてみたら?」といわれ、実行してみたら、復活!!しました。

古いパソコンだったので、完全復活とまではいわないですが、
以前より動きが早くなりました(>▽<)/

そこで、デフラグのメリットを調べたところ、、、

 1. ハードディスクの適切な整理から、読み込み、書き込み速度の向上。

 2. パソコン起動時の速度の向上。多くのプログラムの動作が快適になる。

 3. ハードディスクの読み込み、書き込み時のエラー発生の低下。

 4. ハードディスクの整理から、残り空き容量が増加する。

すごい機能だなぁと改めて思いますが、デフラグはハードディスクに
大きな負荷を与えますので、過度には行わず、パソコンの状況に
応じて行いましょう♪

ちなみに、やり方ですが「スタート」→「すべてのプログラム」→
「アクセサリ」→「システムツール」→「ディスク デフラグ」です。

試してみてくださいね(^▽^)/

パソコンスクールISA渋谷校/KIMURA

こんにちは。
なかなか天気がスッキリせず、蒸し暑い日が続いていますね。

今回は、覚えておけば明日から使える、
便利な「Excel VBA」のテクニックを
ご紹介していきたいと思います。(・▽・)ノ

VBAでは必須なプロシージャである
Ifプロシージャ」を省略する書き方をご紹介したいと思います。

■■■Ifプロシージャの省略■■■

Sub Test1()
        Dim i As Long
        For i = 1 To 5
                If i = 5 Then
                        MsgBox “終了!”
                End If
        Next i
End Sub

Test1プロシージャは、変数iが5になった時に、
メッセージを表示するというプロシージャです。
今回、条件を満たした時に行いたい動作は、
「MsgBox “終了!”」の1行のみとなります。

この場合、Ifプロシージャの部分はちょっと省略して
記述することができます☆

Sub Test1_1()
        Dim i As Long
        For i = 1 To 5
                If i = 5 Then MsgBox “終了!”
        Next i
End Sub

Test1_1プロシージャのように、Ifプロシージャの後の動作が
1行で記述できる場合に限り、End Ifなどを省略することができます。

■■■複数の条件をチェックする■■■

Sub Test2()
        Dim i As Long, j As Long
        For i = 1 To 5
                If i = 5 Then
                        If j = 5 Then
                            MsgBox “終了!”
                        End If
                End If
                j = j + 1
        Next i
End Sub

Test2プロシージャでは、「iが5になった時」と「jが5になった時」に
メッセージを表示させるプロシージャになっています。
やはり条件が2つにもなると、コードが長くなってしまいます・・・。

しかし、こちらも下記のように省略することができます!


Sub Test2_1()
        Dim i As Long, j As Long
        For i = 1 To 5
                j = j + 1
                If i = 5 And j = 5 Then  MsgBox “終了!”
        Next i
End Sub

ポイントはIfプロシージャの条件の中にある「And」です。
2つの条件を両方満たした場合のみ、処理が実行されるという仕組みです。

これを「Or」と変えて記述すれば、「どちらか一方を満たす場合」という
条件式に変化します。

いかがでしたでしょうか。
Ifプロシージャは、複雑なプログラムには頻繁に登場するプロシージャです。
たった数行の節約ですが、複雑なプログラムになるほど
この節約によって可読性が大きく変わってきます!(>_<)

プログラムをお作りの際には、ぜひお試しください!

パソコンスクールISA渋谷校/hosoya

こんにちは。インストラクターのhosoyaです。
今週からだんだん暖かくなるようですね。
春が近づくにつれて、今度は【花粉】の心配が出てきます(>_<。)
みなさんの中にも、花粉症にお悩みの方は多いのではないでしょうか?

私は実家が田舎の方だったので、学校の近くにはスギ林が広がっていました。
春になると、森の方から黄色い風が吹いてきます!
初めて見た時は衝撃の光景でした。(◎△◎;)

最近は色々な予防グッズや医薬品があるので、
授業に支障が出ないよう、厳重に注意します。

さて、今回でショートカットキー講座が涙の最終回です!
皆様からの熱いご支援をいただいて(いるつもりで)おりましたが、
(ネタが尽きてきたので)今回で終了となります。
今までお付き合いいただきまして、ありがとうございました。

★ファイルの名前を変更する ファイルを選択してF2キー
★ダイアログボックスを閉じる、操作をキャンセルする Escキー
★マウスドラッグでファイルをコピー Ctrlキーを押しながらファイルをドラッグ
★マウスドラッグでショートカットを作成 CtrlキーとShiftキーを押しながらファイルをドラッグ
★画面を最小化 Altキー+スペースキー+Nキー
★画面を最大化 Altキー+スペースキー+Xキー
★画面を元のサイズに戻す Altキー+スペースキー+Rキー

パソコンスクールISA渋谷校/Hosoya

« Previous PageNext Page »