本書内の記載のうち、以下の項目で誤りがありました。
修正内容を提示させていただきます。
ご迷惑をおかけいたしました事、深くお詫び申し上げます。
※初版第5刷
P.295 1枚の帳票から転記するマクロ
誤
recCount = WorksheetFunction.CountA(sht.Range(“C6:C8”))
正
recCount = WorksheetFunction.CountA(sht.Range(“C6:C10”))
P.299 構造体を使用しないように修正
誤
recCount = WorksheetFunction. _
CountA(sht.Range(“C6:C8”))
正」
recCount = WorksheetFunction. _
CountA(sht.Range(“C6:C10”))
p.44
誤
右隣のセルC3の値を
正
右隣のセルC2の値を
誤
セルC3の値を変更するマクロ
正
セルC2の値を変更するマクロ
誤
必ずセルC3の値を変更します。
正
必ずセルC2の値を変更します。
誤
セルC3に「ABC」と入力する操作を
正
セルC2に「ABC」と入力する操作を
※初版第4刷
p.317 繰り返し処理
誤
For カウンタ変数 = 開始値 To 終了値
繰り返すコード
End If
正
For カウンタ変数 = 開始値 To 終了値
繰り返すコード
Next
誤
For カウンタ変数 = 開始値 To 終了値 Step -1
繰り返すコード
End If
正
For カウンタ変数 = 開始値 To 終了値 Step -1
繰り返すコード
Next
誤
For Each メンバー変数 In コレクション/配列
繰り返すコード
End If
正
For Each メンバー変数 In コレクション/配列
繰り返すコード
Next
※初版第3刷
p.85
誤:セル.Folmula = “=数式”
正:セル.Formula = “=数式”
※初版第2刷
p.79
「削除」機能のオプションと対応する定数
誤:xlShiftToUp
正:xlShiftUp
p.106
表内の相対的な位置のセルを指定する
誤
.Cells(3, 2).Value = “レモン”
‘ 相対的なセルの指定
正
‘ 相対的なセルの指定
.Cells(3, 2).Value = “レモン”
p.115
誤
正
p.167
Hint テーブル範囲は「可視セルのみをコピー」が安全
誤
テーブル範囲にフィルターをかけて抽出結果をコピーする際のセオリーは、「フィルターをかけてから、SpecialCells メソッドで可視セルのみをコピー」となります。
これは、Range プロパティ経由で全体をコピーする際にも、DataBodyRange プロパティ経由でデータ部分のみをコピーする際にも共通です。というのも、テーブル範囲に設定されているセル範囲は通常のセル範囲と違い、Copy メソッドでコピーする際にフィルターの結果を無視してコピーすることがあるのです(無視しないこともあります)。
なんとも戸惑う動きなので、将来的には修正されるのかもしれませんが、現状ではSpecialCells メソッドを併用し、「可視セルをコピー」するようにしておくのが「安全」のようです。
正
テーブル範囲にフィルターをかけて抽出結果をコピーする際のセオリーは、「フィルターをかけてから、SpecialCells メソッドで可視セルのみをコピー」となります。
これは、Range プロパティ経由で全体をコピーする際にも、DataBodyRange プロパティ経由でデータ部分のみをコピーする際にも共通です。というのも、テーブル範囲を操作する場合、「実行時にテーブル内のセルを選択しているかどうか」で、一部処理の挙動が変わるためです。フィルター結果をコピーする場合では、テーブル外を選択しているとテーブル全体をコピーし、テーブル内を選択していると、抽出結果のみをコピーします。
なんとも戸惑う動きなので、将来的には修正されるのかもしれませんが、現状ではSpecialCellsメソッドを併用し、「可視セルをコピー」するようにしておくのが、両対応できて「安全」のようです。
p.230
リストを使って一括置換する
誤:For Each rngIn Range(“B3:C8”).Rows
正:For Each rng In Range(“B3:C8”).Rows
※初版第1刷
p.52
マクロ「在庫クリア」
誤:Sub在庫クリア()
正:Sub 在庫クリア()
p.53
「在庫クリア」編集前
誤:Sub在庫クリア()
正:Sub 在庫クリア()
「在庫クリア」編集後
誤:Sub在庫クリア()
正:Sub 在庫クリア()
p.71
セルに値を設定する
誤:Sub値の設定()
正:Sub 値の設定()
p.72
プロパティを使って値を設定する
誤:Subプロパティの利用()
正:Sub プロパティの利用()
p.74
メソッドを使って機能を実行する
誤:Subメソッドを利用()
正:Sub メソッドを利用()
p.75
引数の使用例
誤:Subメソッドで引数を利用()
正:Sub メソッドで引数を利用()
p.78
誤
正
p.102
誤
正
p.157
誤:基準セル.Preview
正:基準セル:Previous
p.172
誤:※qtyは価格を表す~
正:※qtyは販売数量を表す~
p.178、181
誤:接頭詞
正:接頭辞
p.189
Format関数に指定する書式文字列
誤:d 和暦
正:d 日
p.230
リストを使って一括置換するマクロ
誤:For Each rngIn Range(“B3:C8”).Rows
正:For Each rng In Range(“B3:C8”).Rows
p.231
誤
実行後
正
実行後
p.238
誤:一時体集中は様々な状態を調べるチャンス
正:一時停止中は様々な状態を調べるチャンス
p.252
誤:関数戻り値を受け取る場合はカッコで囲む
正:関数の戻り値を受け取る場合はカッコで囲む
p.268
イベントの連鎖を防止するマクロ
誤:Private Sub Worksheet_Change(ByValTarget As Range)
正:Private Sub Worksheet_Change(ByVal Target As Range)
p.304
対象ブックのデータを集計と転記する
誤:Sub 新規ブックの作成()
正:Sub 新規ブックに集計()