Consulta de código Select Case

Tengo una duda sobre mi código Select Case en el cual dependiendo el día de la semana Domingo 1 Lunes es 2 Martes 3, etc., en la celda Q1 aparece este dato pero quiero que me ponga un si error + buscarv a partir de H3 para lunes, I3 para martes y así consecutivamente a la hora de correr el código me manda un mensaje de error la función no es valida fuera del bloque type anexo copia del código aunque creo que le he puesto mucha paja al mismo

Sub Diasem()
Dim Diasem
Select Case Ndia
Diasem As Integer
Dim N As Long

N = Range(Range("c3"), Range("C3").End(xlDown)).Count + 2
Diasem = Range("Q1")

Select Case Ndia

Diasem.Ndia 1 <> 7

Case 1
Ndia = 1 Or 2

Range("H3").Select
ActiveCell.FormulaR1C1 = "=IFERROR(HLOOKUP(RC2,TD!C1:C12,Hoja2!RC17,0),0)"
Range("H3").Select
Selection.Copy
Selection.AutoFill Destination:=Range("H3:H" & N), Type:=xlFillDefault
Range("H3:H" & N).Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

Case 2

Ndia = 3

Range("I3").Select
ActiveCell.FormulaR1C1 = "=IFERROR(HLOOKUP(RC2,TD!C1:C12,Hoja2!RC17,0),0)"
Range("I3").Select
Selection.Copy
Selection.AutoFill Destination:=Range("H3:H" & N), Type:=xlFillDefault
Range("I3:I" & N).Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

Case 3

Ndia = 4
Range("J3").Select
ActiveCell.FormulaR1C1 = "=IFERROR(HLOOKUP(RC2,TD!C1:C12,Hoja2!RC17,0),0)"
Range("J3").Select
Selection.Copy
Selection.AutoFill Destination:=Range("H3:H" & N), Type:=xlFillDefault
Range("J3:J" & N).Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

Case 4
Ndia = 5
Range("K3").Select
ActiveCell.FormulaR1C1 = "=IFERROR(HLOOKUP(RC2,TD!C1:C12,Hoja2!RC17,0),0)"
Range("K3").Select
Selection.Copy
Selection.AutoFill Destination:=Range("K3:K" & N), Type:=xlFillDefault
Range("K3:K" & N).Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

Case 5
Ndia = 6

Range("L3").Select
ActiveCell.FormulaR1C1 = "=IFERROR(HLOOKUP(RC2,TD!C1:C12,Hoja2!RC17,0),0)"
Range("L3").Select
Selection.Copy
Selection.AutoFill Destination:=Range("L3:L" & N), Type:=xlFillDefault
Range("L3:L" & N).Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

Case 6
Ndia = 7
Range("M3").Select
ActiveCell.FormulaR1C1 = "=IFERROR(HLOOKUP(RC2,TD!C1:C12,Hoja2!RC17,0),0)"
Range("M3").Select
Selection.Copy
Selection.AutoFill Destination:=Range("M3:M" & N), Type:=xlFillDefault
Range("M3:M" & N).Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End Sub

Agradezco de antemano el apoyo y todo el conocimiento que he adquirido en este foro

1 Respuesta

Respuesta
1

Hay unas cosas que no entiendo.

Dices BuscarV:

Me ponga un si error + buscarv a partir de H3

Pero en la macro tienes un BuscarH:

ActiveCell.FormulaR1C1 = "=IFERROR(HLOOKUP(RC2,TD!C1:C12,Hoja2!RC17,0),0)"

La macro está incompleta, me parece que faltan algunas líneas.

Mejor explica con detalle y con ejemplos qué necesitas y te ayudo con la macro

Si disculpa mejor doy por cerrada esta pregunta vi que estructure mal la fórmula en lo que me importa es que conforme el día que valla pasando por ejemplo si la fórmula de diasem me arroja que el lunes es 2, martes es 3 y así consecutivamente la macro valla pegando la fórmula que estoy creando en las diferentes columnas como son H = Sábado, I = Domingo/Lunes, J = Martes

Supongo que con un select case puede quedar la macro el problema es que no me funciona como lo estructure como lo mencione me da un error de type fuera del bloque como aun no se reconocer ese tipo de errores XD agradezco de antemano

No te preocupes, lo seguimos revisando hasta que funcione.

Pero explícame con ejemplos o con imágenes, cómo están tus datos en la hoja y cómo quieres los resultados.

Ok esta es la imagen de como esta la hoja del archivo es uno con el cual ya me ayudaste recientemente te dejo el link del archivo aunque en ese aun no pensaba en automatizarlo con la macro de la fórmula

 https://drive.google.com/open?id=1TfoqOv1P1k3IiLGFz3c5fov8TKDyIOxl 

Pero tienes que explicarme qué necesitas:

Pero explícame con ejemplos o con imágenes, cómo están tus datos en la hoja y cómo quieres los resultados.

Describe paso a paso qué tienes, qué quieres buscar, en dónde quieres buscar, qué esperas de resultado. TODO

quiero que en base al numero de Q1 se ejecute la macro de buscarv que va a buscar B3 en la hoja TD y su indicador de columnas es la columna Q3 pero eso dependiendo del dia quiero que se valla pegando en las diferentes columnas por ejemplo si el resultado de Q1 es 1 o 2 quiero que corra la formula a partir de I2 si el resultado fuera 6 en M2 todo esto hasta la ultima fila con datos y que copie como solo valores al finalizar eso seria todopor eso puse la imagen con algunos comentarios disculpa si no soy tan explicito en la imagen

Pero no estás poniendo un ejemplo.

¿Qué tienes en la celda B3? Según veo tienes un número, ¿el primer número es? ¿Cuál número voy a buscar? El ejemplo es "20385", ¿ese número lo busco en dónde? El ejemplo es "en la hoja TD",

¿En cuál fila?, y así, me tienes que explicar el ejemplo. Utilizando datos reales, y resultados reales. Qué tienes en Q1, según tu imagen tienes un 3, ¿qué hago con ese 3?

Etc.

Tu ejemplo debe incluir datos. Y por último qué esperas de resultado, igualmente me tienes que decir el resultado del ejemplo que estás describiendo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas