実践
   Excel VBA

サポート情報

最終更新2005年07月07日

 

 ■お詫びと訂正 (更新2005年07月07日)

 本書、P22の「図 1-5-2」中、18行目に誤りがありました。
 本書、P24の「図 1-5-3」中、12行目、17行目、21行目に誤りがありました。
 本書、P28の「図 1-6-4」中、13行目、18行目、22行目に誤りがありました。
 正しいソースは以下の通りです。

 ※正しいソースは、本誌特別付録CD-ROMに収録されています。

1  Sub CountIterationNumber()
2     Dim i As Integer, j As Integer
3     Dim Islash As Integer, Jslash As Integer
4     Dim CharI As String, CharJ As String
5  '
6     Worksheets("Sheet2").Activate
7     i = 1
8     Do Until Cells(i, 1) = Empty
9      i = i + 1
10     Loop
11    ItrNum = i - 1
12     j = 0
13     For i = 1 To ItrNum
14      CharI = Cells(i, 9)
15      Islash = InStr(CharI, "/")
16      CharJ = Cells(i, 10)
17      Jslash = InStr(CharJ, "/")
18      If Islash <> 0 Or Jslash <> 0 Then j = j + 1
19     Next i
20     ItrNum = ItrNum + j
21  End Sub

図 1-5-2 Sub CountIterationNumber


1  Sub Insertion()
2     Dim i As Integer
3     Dim Islash As Integer, Jslash As Integer
4     Dim CharI As String, CharJ As String
5     Dim Chr As String
6     Call CountIterationNumber
7     For i = 1 To ItrNum
8      CharI = Cells(i, 9)
9      Islash = InStr(CharI, "/")
10      CharJ = Cells(i, 10)
11      Jslash = InStr(CharJ, "/")
12      If Islash <> 0 Or Jslash <> 0 Then
13       Chr = Str(i + 1)
14       Chr = Mid(Chr, 2, Len(Chr) - 1)
15       Rows(Chr + ":" + Chr).Select
16       Selection.Insert Shift:=xlDown
17       If Islash <> 0 Then
18        Cells(i, 9) = Mid(CharI, 1, Islash - 1)
19        Cells(i + 1, 9) = Mid(CharI, Islash + 1)
20       End If
21       If Jslash <> 0 Then
22        Cells(i, 10) = Mid(CharJ, 1, Jslash - 1)
23        Cells(i + 1, 10) = Mid(CharJ, Jslash + 1)
24       End If
25      End If
26     Next i
27  End Sub

図 1-5-3 Sub Insertionのコード


1  Sub Insertion()
2     Dim i As Integer
3     Dim Islash As Integer, Jslash As Integer
4     Dim CharI As String, CharJ As String
5     Dim Chr As String
6     Call CountIterationNumber
7     i = 1
8  Loop1:
9     CharI = Cells(i, 9)
10     Islash = InStr(CharI, "/")
11     CharJ = Cells(i, 10)
12     Jslash = InStr(CharJ, "/")
13     If Islash <> 0 Or Jslash <> 0 Then
14      Chr = Str(i + 1)
15      Chr = Mid(Chr, 2, Len(Chr) - 1)
16      Rows(Chr + ":" + Chr).Select
17      Selection.Insert Shift:=xlDown
18      If Islash <> 0 Then
19       Cells(i, 9) = Mid(CharI, 1, Islash - 1)
20       Cells(i + 1, 9) = Mid(CharI, Islash + 1)
21      End If
22      If Jslash <> 0 Then
23       Cells(i, 10) = Mid(CharJ, 1, Jslash - 1)
24       Cells(i + 1, 10) = Mid(CharJ, Jslash + 1)
25      End If
26      ItrNum = ItrNum + 1
27     End If
28     i = i + 1
29     If i <= ItrNum Then GoTo Loop1
30  End Sub

図 1-6-4 修正した Sub Insertion


 

 以上、お詫びして訂正いたします。

(株)工学社 第二I/O編集部 



 本書の内容に関するご質問/お問い合わせは、次の方法で工学社編集部あてにお願いします。

1.返信用の切手を同封した手紙
2.往復はがき
3.FAX 03−5269−6031
4.E-Mail 問い合わせフォーム

なお、電話によるお問い合わせはご遠慮ください。

※ご質問/お問い合わせの際、お客様の使用・動作環境などに添えて、具体的な症状をできるだけ詳しくお知らせください。
※FAXでのご質問/お問い合わせの場合は、必ずお客様のFAX番号を明記してください。