よくわかるノウハウバンク実践塾(JavaとVBA部品の紹介と勉強)

 ┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┿
    よくわかるノウハウバンク実践塾(JavaとVBA部品の紹介と勉強)
   (エクセルの初心者対象・プログラムの大革命)
http://vba.asai.net
 ┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━◇◆┿
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
┏┓VBAをマスターして仕事を早くして給料をあげよう。儲かる会社にしよう☆
┗╋━━━━━━━━━━━━━━━━━━━━━━━━━━……………
 ┃    VBA実践塾は、VBAはプログラムを作るのではない
部品を修正して使うという考え方で実施しております。
 ☆。.:*:・’゜  ─ 部品の公開メルマガ No96─
  ……………━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┿
   よくわかるVBA実践2つのブックの差の取り出しを勉強します
 ┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━◇◆┿
┌─┐
│1├───────────────────────────────┐
└┬┘★前回はJava実践No13(電卓を作ろうの10回目計算式)の勉強でした★ |
 └────────────────────────────────┘
  前回はJava実践No13(電卓を作ろうの10回目計算式)を勉強しました。
  今回はよくわかるVBA実践2つのブックの差の取り出しを勉強します。
  最近ソース公開の有料メルマガ
  http://www.mag2.com/m/0001639928.html
  の原稿作りと通信教育の教材作りに時間をさいていましたので、無料メルマガ
  はとまっておりました。
  久しぶりにVBAで検索しますと4300万という検索数になっておりびっくり
  しました。
  確かホームページを立ち上げた2年前は1390万でした。
  エクセルの普及とともに見えないブームになってきているのかもしれません。
  VBA実践塾のサイトhttp://vba.asai.net
  は大阪発であるのに半数以上が東京を中心としたユーザーです。
  セミナーも大阪で開催しているために思ったほど参加者があつまっておりません。
  そこで映像教材を含む通信教育を始めようと思い2月に販売する予定です。
  
  今回久しぶりに生徒さんの要望2つのブックの差の取り出しを
  ホームページに掲載しました。
  
  質問のある方またご意見のある方は自由にメールをしてください。
┌─┐
│2├───────────────────────────────┐
└┬┘★中小企業経営者また幹部の方へのITに関する本音の情報★    |
 └────────────────────────────────┘
  経営に関する情報はNHKの朝ドラまっさんを例にしたり、身近な話題を
  テーマにしてわかりやすく情報発信しているつもりです。
  
  経営の原理原則はお客様の欲しいものを提供することだということを
  いろいろな角度から紹介しております。
  戦略経営の「よもやま話」
  http://archive.mag2.com/0001643717/index.html
  今回はカンブリア宮殿から引用させていただきました。
  
┌─┐
│3├───────────────────────────────┐
└┬┘★よくわかるVBA実践2つのブックの差の取り出し★        |
 └────────────────────────────────┘
  前回はJava実践No13(電卓を作ろうの10回目計算式)の勉強でした。
  今回はよくわかるVBA実践2つのブックの差の取り出しの勉強です。
  http://vba.asai.net/sbooksa.html
  を参考にしてください。
  
  別のブックに同じ形式のシートがあります。
内容が違っている場合その差を転記するプログラムを紹介します。

・比較するブックを開く

VBAのブックのあるフォルダーの中のエクセルファイルをすべて開きます。
DIRコマンドを使って拡張子xlsxがつくファイル名を取り出します。
ファイルを開く場合どのドライブのどのフォルダーにあるかを指定しないと
いけませんので
basyo = ThisWorkbook.Path
を使ってパス名を取り出してそのパス名と先ほどのファイル名をつけて
ブックをオープンします。

Sub bhiraku()
Dim basyo As String
Dim buf As String
basyo = ThisWorkbook.Path
buf = Dir(basyo & “\*.xlsx”)
Do While buf “”
Workbooks.Open basyo & “\” & buf
buf = Dir()
Loop
ThisWorkbook.Activate
End Sub

・ブックの切り替え
比較1.xlsx比較2.xlsxが開いています。
各dataシートの1行1列のデータを表示します
VBAの記述されているブック・比較する比較1・比較2のブック
それぞれデータを見る場合Activateにしないといけませんのでその都度
切り替えています。

Sub hikaku()
Dim i As Long
Dim lastrow As Long
‘比較1のデータ
Workbooks(“比較1.xlsx”).Activate
MsgBox Worksheets(“data”).Cells(1, 1)
‘比較2のデータ
Workbooks(“比較2.xlsx”).Activate
MsgBox Worksheets(“data”).Cells(1, 1)
‘自分のブック
ThisWorkbook.Activate
Worksheets(“data”).Select
MsgBox Worksheets(“data”).Cells(1, 1)
End Sub

・比較1比較2のデータの違いの表示
ブックを同時に比較できないので変数に格納した値とセルの値を比較しています。

Sub hikaku1()
Dim i As Long
Dim lastrow As Long
Dim data As Long
‘比較1のデータ
Workbooks(“比較1.xlsx”).Activate
lastrow = Worksheets(“data”).Cells(Rows.Count, 1).End(xlUp).Row
For i = 2 To lastrow
‘比較2のデータ
Workbooks(“比較2.xlsx”).Activate
data = Worksheets(“data”).Cells(i, 1)
Workbooks(“比較1.xlsx”).Activate
If Worksheets(“data”).Cells(i, 1) data Then
MsgBox data & “ちがう”
End If
Next
End Sub

・比較1比較2のデータの差を転記
比較1比較2の同じ行数なので比較1を基準にFor Nextで上から比較していきます。
比較は先ほどの例題のようにブックを切り替えながら変数を使って比較します。
差があった場合はVBAの記述されているThisWorkbookをActivateにして転記しています。

Sub hikaku2()
Dim i As Long
Dim lastrow As Long
Dim data As Long
Dim sa As Long
‘自分のブック
Worksheets(“data”).Cells.Clear
Worksheets(“data”).Cells(1, 1) = “比較差”
‘比較1のデータ
Workbooks(“比較1.xlsx”).Activate
lastrow = Worksheets(“data”).Cells(Rows.Count, 1).End(xlUp).Row
For i = 2 To lastrow
‘比較2のデータ
Workbooks(“比較2.xlsx”).Activate
data = Worksheets(“data”).Cells(i, 1)
Workbooks(“比較1.xlsx”).Activate
If Worksheets(“data”).Cells(i, 1) data Then
sa = Worksheets(“data”).Cells(i, 1) – data
‘自分のブック
ThisWorkbook.Activate
Worksheets(“data”).Cells(i, 1) = sa
End If
Next
‘自分のブックを選択
ThisWorkbook.Activate
Worksheets(“data”).Select
End Sub

  次回のよくわかるVBA実践は請求関連残高計算を勉強します。
  次回のJavaは実践No14(電卓を作ろうの11回目エラー例外処理)を勉強します。
┌─┐
│4├───────────────────────────────┐
└┬┘★ 習うより慣れろ                      |
| 練習問題・実践をすることです ★     |
 └────────────────────────────────┘
  VBA実践のメルマガの永い読者はまた同じことかと思われるかもしれませんが
  基本は同じですのでそれを何度も少し変わった面から作ることが本当の
  力になってくるのです。
  わかったと思って訓練をしないと実践力がつきません。
  キャリアアップをめざして頑張ってください。
┌─┐
│5├───────────────────────────────┐
└┬┘★2月3月のVBA&Java実践無料セミナーは            |
| 2月 7日(土) 15日(日)  10:00~12:00           |
| 3月 7日(土) 15日(日)  10:00~12:00           |
| テーマ:転職に有利なプログラム言語のJavaとキャリアアップに |
|  最適なExcelVBAを実践に基づいてわかりやすく紹介するセミナー★|
 └────────────────────────────────┘
┌─┐
│6├───────────────────────────────┐
└┬┘★1月2月のVBA実践有料セミナーは               |
| 1月 24日(土)25日(日)31日(土)                |
| 2月 1日(日) 7日(土) 8日(日)14日(土)15日(日)21日(土)22(土) |
|    9:00~17:00 内容:VBA実践基礎       |
|    受講費用 ¥20,000(税抜・教材費込)     |
 └────────────────────────────────┘
┌─┐
│7├───────────────────────────────┐
└┬┘★ VBA実践塾の第1号「よくわかるVBA実践」CD版     |
| 発売中(価格5,000円)                |
| ご購入希望者はyahooショッピングにて販売中★          |
http://store.shopping.yahoo.co.jp/vba/★            |
 └────────────────────────────────┘
┌─┐
│8├───────────────────────────────┐
└┬┘★ 現金主義会計ソフトCD版                 |
| を発売しました(販売価格2,500円)         |
| ご購入希望者はamazonにて販売中)★            |
|http://www.amazon.co.jp/(現金主義会計ソフトで検索してください)|
|簿記は難しい。しかし税務申告はこの簿記の考え方を採用しています。|
|この会計は、最小の努力で税務申告も可能な決算書が完成できるように|
|工夫しました。指示に従って初歩の簿記知識もマスターしましょう。 |
 └────────────────────────────────┘

 ──────────────────────────────────
  次のOdysseyのサイトに漫画でVBAを説明していますので参考にしてください
  http://vbae.odyssey-com.co.jp/column/

 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 □■セミナー場所・お問い合わせ先
大阪市阿倍野区阿倍野筋3-12-2-111
ナガセキャリアプラザ アベノ校
VBA実践塾 塾長 浅井良一
http://vba.asai.net
ryoichi@asai.net
電話0120-555-309

コメントを残す