Macro: función SI
Hola nuevamente, te comento la situación, en una de las dudas anteriores te pregunte lo de crear las hojas para los nombres nuevos que agregue a la lista.
Ahora tengo esta macro que la idea es que la haga andar para esos nombres nuevos que aparecen en la lista, y no para los que ya estaban. Por lo que entiendo debería hacer andar una función SI, en el que le indique que empiece a andar a partir de las hojas que no poseen datos en la página (no se como escribir esto). Ademas no se bien donde poner la función SI.
Copio a continuación la macro, necesitaría que me ayuden poniendo la función SI, y la condición, que vendría a ser que haga todo el funcionamiento si es que en la hoja no hay datos escritos. Gracias
Sub FillSheets1()
Dim fila As Integer
Dim Symbol As String
Dim TargetSheet As Worksheet
Dim SourceSheet As Worksheet
Set TargetSheet = ActiveWorkbook.Worksheets("WL")
Set SourceSheet = ActiveWorkbook.Worksheets("MON")
Dim cantidad As Integer
cantidad = TargetSheet.Cells(1, 1).Value
For fila = 2 To cantidad + 1
Symbol = TargetSheet.Cells(fila, 1).Value
Set SourceSheet = ActiveWorkbook.Worksheets(Symbol)
Sheets(Symbol).Select
Range("a1:x1000").ClearContents
With ActiveSheet.QueryTables.Add(Connection:= _
"URL;http://moneycentral.msn.com/investor/invsub/results/statemnt.aspx?symbol=" & Symbol _
, Destination:=Range("$A$3"))
.Name = "statemnt.aspx?symbol=" & Symbol
.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
Next fila
End Sub
Ahora tengo esta macro que la idea es que la haga andar para esos nombres nuevos que aparecen en la lista, y no para los que ya estaban. Por lo que entiendo debería hacer andar una función SI, en el que le indique que empiece a andar a partir de las hojas que no poseen datos en la página (no se como escribir esto). Ademas no se bien donde poner la función SI.
Copio a continuación la macro, necesitaría que me ayuden poniendo la función SI, y la condición, que vendría a ser que haga todo el funcionamiento si es que en la hoja no hay datos escritos. Gracias
Sub FillSheets1()
Dim fila As Integer
Dim Symbol As String
Dim TargetSheet As Worksheet
Dim SourceSheet As Worksheet
Set TargetSheet = ActiveWorkbook.Worksheets("WL")
Set SourceSheet = ActiveWorkbook.Worksheets("MON")
Dim cantidad As Integer
cantidad = TargetSheet.Cells(1, 1).Value
For fila = 2 To cantidad + 1
Symbol = TargetSheet.Cells(fila, 1).Value
Set SourceSheet = ActiveWorkbook.Worksheets(Symbol)
Sheets(Symbol).Select
Range("a1:x1000").ClearContents
With ActiveSheet.QueryTables.Add(Connection:= _
"URL;http://moneycentral.msn.com/investor/invsub/results/statemnt.aspx?symbol=" & Symbol _
, Destination:=Range("$A$3"))
.Name = "statemnt.aspx?symbol=" & Symbol
.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
Next fila
End Sub
1 respuesta
Respuesta de prozac
1