Error en ejecución de macro (Rangos)

Muchas gracias por favor me podrías apoyar con la ejecución de esta macro el problema es cuando quiero asignarle un nuevo rango de datos al Gráfico 1 que tengo me da error, el procedimiento completo es el siguiente: y marco con negritas hasta donde avanza la macro sin problemas

(Con negritas marco donde me marca error"

Private Sub Materia_Change()
Dim HojaDatoGrafico As String
Dim NombreHoja As String
Dim Casos As String
Dim myRango As Range
Dim keyRango As Range

Worksheets("Config").Range("G31") = Materia
HojaDatoGrafico = Worksheets("Config").Range("F22") & Worksheets("Config").Range("F23")
Set myRango = Worksheets(HojaDatoGrafico).Range("OF50:OG81")
Set keyRango = Worksheets(HojaDatoGrafico).Range("OG50:OG81")

If (BuscarHoja1(HojaDatoGrafico)) Then
Casos = Worksheets("Config").Range("R24")

If Worksheets("Config").Range("R24") = Casos Then
Worksheets(HojaDatoGrafico).Select
Range("ALUMNOS").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range( _
"CRITERIO"), CopyToRange:=Range("SALIDA"), Unique:=False
'Ordena segun la materia para mostrar los 10 mejores
myRango.Select
ActiveWindow.LargeScroll Down:=-1
ActiveWorkbook.Worksheets(HojaDatoGrafico).Sort.SortFields.Clear
ActiveWorkbook.Worksheets(HojaDatoGrafico).Sort.SortFields.Add Key:=keyRango, SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal

With ActiveWorkbook.Worksheets(HojaDatoGrafico).Sort
.SetRange myRango
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
Range("OG49").Select
End With
Worksheets("Grafica").Select
'Activa el Gráfico para hacer los cambios de Rangos
ActiveSheet.ChartObjects("Gráfico 1").Activate
'Cambia los datos del Rango del Grafico
ActiveChart.SetSourceData Source:=Sheets(HojaDatoGrafico).myRango
'Cambia el Titulo o encabezado del Grafico
ActiveChart.HasTitle = True
ActiveChart.ChartTitle.Text = "Los Diez Mejores Alumnos en " & Materia
'Muestra el Grafico en UserForm
Set Grafico = Sheets("Grafica").ChartObjects("Gráfico 1").Chart
'Nome = "C:\Windows\Temp" & Application.PathSeparator & "temp.gif"
Nome = ThisWorkbook.Path & Application.PathSeparator & "temp.gif"
Grafico.Export Filename:=Nome, Filtername:="GIF"
Image1.Picture = LoadPicture(Nome)
Image1.Visible = True
End If
Label3.Visible = False
Label4.Visible = False
Bimestre.Visible = False
Materia.Visible = False
Grado.SetFocus
Else
MsgBox "La Hoja de la Base de Datos para el Grafico No existe " & HojaDatoGrafico, vbCritical, "Osiany Contreras"
Grupo.BackColor = &HFF&
Grupo.Enabled = True
Image1.Visible = False
End If
End Sub

1 respuesta

Respuesta
1

Proba reemplazando esa línea por esta otra:

ActiveChart.SetSourceData Source:=myRango

Porque al declarar el objeto 'myRango' ya incluyes el nombre de la hoja y no hace falta volverlo a indicar.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas