Hatena::ブログ(Diary)

まりふのひと RSSフィード

訪問数:5261229直近記事一覧見かたPCRFAQ別紙ふせんSSKPro一覧)|麻里府発OneDriveiPS-BB掲示板2
MiPS予定予定一覧MAPS-TAMAPS-TPiPS-77iPS-BB)(修了:iPSなかよしiPS遊々, iPSマクロ研WAWP)|よくある質問

 | 

2014.1.17 (金)

午後/iPSマクロ研の予定…マクロ残高証明の作成


 お知らせ


 マクロ残高証明

§1.データを揃えるため、サンプルデータをダウンロードする
  1. [麻里府発]の まりふのひとの「公開」SkyDrive に移動し、
  2. フォルダー「麻里府パソコン同好会」をクリックし、(開く)
  3. フォルダ「iPSマクロ研」をクリックする。 (開く)
  4. 「2014-0117_出納帳サンプルデータ」(圧縮(zip形式)フォルダ)にチェックを入れ、
  5. [ダウンロード]をクリックする。
  6. [ファイルを開く]。
  7. 「2014-0117_出納帳サンプルデータ.xlsm」を右クリック ⇒[コピー]する。
  8. 保存先フォルダーを開き‥‥ 貼り付ける。

§2.サブ「残金を集計する」を解析する
≪コード≫
  1. Sub 残金を集計する()
  2. Dim i As Long
  3. Dim LastRow As Long
  4. Dim sRange As String
  5.   
  6.   Sheets("作業用").Select
  7.   ActiveCell.SpecialCells(xlLastCell).Select
  8.   sRange = "$A$2:" & ActiveCell.Address
  9.   
  10.   Sheets("名前").Select
  11.   Range("C1").Select
  12.   Selection.End(xlDown).Select
  13.   LastRow = ActiveCell.Row
  14.   
  15.   For i = 2 To LastRow
  16.     If IsError(Application.VLookup(Cells(i, 3), Worksheets("作業用").Range(sRange), 3, False)) Then
  17.       Cells(i, 5) = ""
  18.     Else
  19.       Cells(i, 5) = Application.VLookup(Cells(i, 3), Worksheets("作業用").Range(sRange), 3, False)
  20.     End If
  21.     
  22.     If IsError(Application.VLookup(Cells(i, 3), Worksheets("作業用").Range(sRange), 4, False)) Then
  23.       Cells(i, 6) = ""
  24.     Else
  25.       Cells(i, 6) = Application.VLookup(Cells(i, 3), Worksheets("作業用").Range(sRange), 4, False)
  26.     End If
  27.       
  28.     Cells(i, 7) = Cells(i, 4) + Cells(i, 5) - Cells(i, 6)
  29.   Next
  30.   Range("A1").Select
  31.   
  32. End Sub
≪補足説明≫
  • 7行目:Ctrl+End([作業用]シートの表の右下隅のセルをアクティブにする)
  • 8行目:VLookup で参照する表の範囲(A2〜D12)を sRange にセットする。($A$2:$D$12)
  • 12行目:Ctrl+↓
  • 13行目:C列の最終行を LastRow にセットする。
  • 15行目〜29行目:For〜Nextステートメント ‥‥ テキスト P.126 STEP6 処理を繰り返す
  • 16行目〜20行目:If〜Then〜Else〜End If ‥‥ テキスト P.102 STEP3 制御構造を使用する
  • 16行目〜17行目:VLookup関数で作業用シート $A$2:$D$12 を検索した時、見つからなかった(エラーになった)時、"" とする。
  • 19行目:見つかった時は、預り金を返す。
  • 22行目〜25行目:同様に、出金額を返す。
  • 28行目:残金額を計算する。
  • 30行目:終わったら、セルA1 をアクティブにしておく。

§3.画面の更新を禁止する

動作確認が終わったら、仕上げとして、画面の更新を禁止します。
[名前]シートを選択しておき、下記を実行して、確認します。

  1. Sub aa出納帳編集()
  2.   
  3.   Application.ScreenUpdating = False
  4.   Call 集計シートのクリア
  5.   Call 作業用シートのクリア
  6.   Call 出納帳を名前で並べ替える
  7.   Call 出納帳を集計する
  8.   Call 名前の集計を取り去る
  9.   Call 残金を集計する
  10.   Application.ScreenUpdating = True
  11.   
  12. End Sub

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト

コメントを書くには、なぞなぞ認証に回答する必要があります。

トラックバック - http://d.hatena.ne.jp/ogohnohito/20140117/p1
 | 
迷惑コメント(英文)で困っております
コメント入力方法は
こちら を参照してください。


お世話になります

カレンダー
<< 2014/01 >>
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
おいでませ
5261230