3月1日より、YahooファイナンスのWebページの仕様が一部変更され、今までのままのコードでは動作しなくなりました。
この対策方法として、VBAのコードのうち、Webクエリを行う部分のWebTablesという設定箇所を従来の「19」から「23」に変更することで、再びこれまでのように動作するようになります。
ご利用されている方は、設定の変更を行ってください。また、いかに本書のWebクエリのコードの修正版を掲載しておきますので、合わせてご覧ください(サイトの都合で改行位置がずれてい部分がありますが、コードの内容および本書の内容から判断してください。)。よろしくお願いします。
Sub Get_Data()
'価格データを取得するマクロ(P.38~63参照)
With ActiveSheet.QueryTables.Add(Connection:=url, Destination:=Cells(lastrow, 2))
.Name = "Yahoo"
.FieldNames = False
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = False
.RefreshPeriod = 0
.WebSelectionType = xlSpecifiedTables
.WebFormatting = xlWebFormattingNone
.WebTables = "23"
'価格の取得がうまく動作しなくなった場合、この値を変更
.WebPreFormattedTextToColumns = True
.WebConsecutiveDelimitersAsOne = True
.WebSingleBlockTextImport = False
.WebDisableDateRecognition = False
.Refresh BackgroundQuery:=False
End With
End Sub