2017-04-13 7 views
0

ここでは、異なる会社の財務諸表を取り込むvbaコードがあります。最初にマクロを実行すると、B列からG列に情報が貼り付けられますが、再実行すると、 H〜Mの列の古いデータの右側に貼り付けられ、古いデータは削除されません。古いデータを削除して、カラムBからGの新しい情報をペーストして、マクロを実行するたびに古いデータを上書きするようにします。財務諸表は古いものの隣に貼り付けます

以下は私のコードです

ありがとうございます!

Sub finstate() 

     sTicker = Range("A1").Value 
     If sTicker = "" Then 
MsgBox "No value to look up" 
Exit Sub 
     End If 

     With ActiveSheet.QueryTables.Add(Connection:= _ 
"URL;http://www.advfn.com/stock-market/NASDAQ/" & sTicker & "/financials?btn=annual_reports&mode=company_data" _ 
, Destination:=Range("B2")) 
.Name = "financials?btn=annual_reports&mode=company_data" 
.FieldNames = True 
.RowNumbers = False 
.FillAdjacentFormulas = False 
.PreserveFormatting = False 
.RefreshOnFileOpen = False 
.BackgroundQuery = True 
.RefreshStyle = xlInsertDeleteCells 
.SavePassword = False 
.SaveData = True 
.AdjustColumnWidth = True 
.RefreshPeriod = 0 
.WebSelectionType = xlSpecifiedTables 
.WebFormatting = xlWebFormattingAll 
.WebTables = "6" 
.WebPreFormattedTextToColumns = True 
.WebConsecutiveDelimitersAsOne = True 
.WebSingleBlockTextImport = False 
.WebDisableDateRecognition = False 
.WebDisableRedirections = False 
.Refresh BackgroundQuery:=False 
    End With 
    End Sub 

答えて

1

Sub finstate()の下に以下を追加します。

Worksheets("your sheet name").Range("B1:G50000").Clear 
+0

enter image description here

スクリプトの実行が終了し、あなたはこのような何かを持っています。どうもありがとう! – Sebastian

+0

あなたは完了したとマークすることができました。 – Ionut

0

これもオプションであるようにクリアし、あなたがActivesheetを使用することを見て:

ActiveSheet.Columns("B:G").Clear

0

私はこれがたくさんあると思います特に、複数のテロップのデータをインポートする場合に便利です。

Sub Macro1() 

ThisSheet = ActiveSheet.Name 
Range("A2").Select 
Do Until ActiveCell.Value = "" 
Symbol = ActiveCell.Value 
Sheets(ThisSheet).Select 
Sheets.Add 


    With ActiveSheet.QueryTables.Add(Connection:= _ 
     "URL;http://www.advfn.com/stock-market/NASDAQ/" & Symbol & "/financials?btn=annual_reports&mode=company_data" _ 
     , Destination:=Range("$A$1")) 
     .Name = "financials?btn=annual_reports&mode=company_data_1" 
     .FieldNames = True 
     .RowNumbers = False 
     .FillAdjacentFormulas = False 
     .PreserveFormatting = True 
     .RefreshOnFileOpen = False 
     .BackgroundQuery = True 
     .RefreshStyle = xlInsertDeleteCells 
     .SavePassword = False 
     .SaveData = True 
     .AdjustColumnWidth = True 
     .RefreshPeriod = 0 
     .WebSelectionType = xlSpecifiedTables 
     .WebFormatting = xlWebFormattingNone 
     .WebTables = "6" 
     .WebPreFormattedTextToColumns = True 
     .WebConsecutiveDelimitersAsOne = True 
     .WebSingleBlockTextImport = False 
     .WebDisableDateRecognition = False 
     .WebDisableRedirections = False 
     .Refresh BackgroundQuery:=False 
    End With 

Sheets(ActiveSheet.Name).Name = Symbol 
Sheets(ThisSheet).Select 
ActiveCell.Offset(1, 0).Select 

Loop 

End Sub 

私のシート1は、次のようになります。これは、働いていた

enter image description here

関連する問題