Hola hermanos bakunos, espero me puedan ayudar con un error en mi codig de macro. Tengo una variable que toma valor conforme al mes que se esta trabajando, el problema es que en cierta parte del codigo introduzco una formula en una celda cuya columna esta definida por dicha variable, hasta alli todo esta ok pero al querer seleccionar un rango con varias celdas (ejem A1:A23) utilizando dicha variable me bota un error y no se si mi sintaxis es correcta. Sin mas les dejo mi codigo y espero impaciente su respuesta.
Sub Victor()
Sheets("Activos Finan").Select
Mes = Range("T2").Value
'Selección de la columna para pegar2
Select Case Mes
Dim Columna4 As String
Case Is = "Enero"
Columna4 = "V"
Case Is = "Febrero"
Columna4 = "W"
Case Is = "March"
Columna4 = "X"
Case Is = "April"
Columna4 = "Y"
Case Is = "May"
Columna4 = "Z"
Case Is = "June"
Columna4 = "AA"
Case Is = "July"
Columna4 = "AB"
Case Is = "August"
Columna4 = "AC"
Case Is = "September"
Columna4 = "AD"
Case Is = "October"
Columna4 = "AE"
Case Is = "November"
Columna4 = "AF"
Case Is = "December"
Columna4 = "AG"
End Select
Workbooks.Open Filename:=Application.GetOpenFilename("Hoja Excel , *.xls*", _
, "Seleccione el archivo para copiar sus datos.")
Sheets("210").Select
Range(Columna4 & "30").Select
ActiveCell.FormulaR1C1 = _
"=IF(ISERROR(VLOOKUP(R[25]C36,'[PruebaPresup2010 PORCENTAJES.xls]Activos Finan'!R3C18:R94C20,3,FALSE)),0,VLOOKUP(R[25]C36,'[PruebaPresup2010 PORCENTAJES.xls]Activos Finan'!R3C18:R94C20,3,FALSE))"
Range(Columna4 & "30").Select
Selection.Copy
Range(Columna4 & "31:44").Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
'Range(Columna4 & "31").Select
Application.CutCopyMode = False
Dim Ex As String
Ex = ".xls" 'Extención del archivo
Application.DisplayAlerts = False
With ActiveWorkbook
.Save
End With
Application.DisplayAlerts = True
End Sub
Sub Victor()
Sheets("Activos Finan").Select
Mes = Range("T2").Value
'Selección de la columna para pegar2
Select Case Mes
Dim Columna4 As String
Case Is = "Enero"
Columna4 = "V"
Case Is = "Febrero"
Columna4 = "W"
Case Is = "March"
Columna4 = "X"
Case Is = "April"
Columna4 = "Y"
Case Is = "May"
Columna4 = "Z"
Case Is = "June"
Columna4 = "AA"
Case Is = "July"
Columna4 = "AB"
Case Is = "August"
Columna4 = "AC"
Case Is = "September"
Columna4 = "AD"
Case Is = "October"
Columna4 = "AE"
Case Is = "November"
Columna4 = "AF"
Case Is = "December"
Columna4 = "AG"
End Select
Workbooks.Open Filename:=Application.GetOpenFilename("Hoja Excel , *.xls*", _
, "Seleccione el archivo para copiar sus datos.")
Sheets("210").Select
Range(Columna4 & "30").Select
ActiveCell.FormulaR1C1 = _
"=IF(ISERROR(VLOOKUP(R[25]C36,'[PruebaPresup2010 PORCENTAJES.xls]Activos Finan'!R3C18:R94C20,3,FALSE)),0,VLOOKUP(R[25]C36,'[PruebaPresup2010 PORCENTAJES.xls]Activos Finan'!R3C18:R94C20,3,FALSE))"
Range(Columna4 & "30").Select
Selection.Copy
Range(Columna4 & "31:44").Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
'Range(Columna4 & "31").Select
Application.CutCopyMode = False
Dim Ex As String
Ex = ".xls" 'Extención del archivo
Application.DisplayAlerts = False
With ActiveWorkbook
.Save
End With
Application.DisplayAlerts = True
End Sub