Como ingresar esta fórmula mediante una macro
Les adjuntare un código en el que he estado trabajando, la idea es que se cree una nueva hoja y en ella se enumeren los números del 1 hasta el número que indique una variable. Luego de eso enfrente de cada número colocado debe ingresar esta fórmula
SI.ERROR(BUSCARV(A2;ITEMS!$B$6:$C$8885;2;0);" ")
Pero hay 2 cosas que me generan dudas:
- En algunos excel para ingresar las fórmulas no se usa ";" si no "," es decir, para algunos excel la fórmula estaría como la adjunte anteriormente y en otros estaría así
SI. Error(buscarv(a2, items!$B$6:$C$8885,2,0)," ")
Así que como podría hacer que esa formula funcione en cualquier excel? - El dato que se va a buscar "A2" debe ir incrementando, es decir, en la primer celda donde se coloque (la cual sería "B2") la formula estaría bien así, pero luego cuando al coloque en la siguiente fila (Osea "B3") la formula debería quedar así
SI.ERROR(BUSCARV(A3;ITEMS!$B$6:$C$8885;2;0);" ")
Y así sucesivamente, entonces como puedo hacer que ese dato vaya en incremento?
Les adjunto el código que tengo y una imagen del resultado que deseo
'Declaro variables ref = ActiveSheet.Range("B8895").Value 'Este dato se toma de otra hoja, el dato es númerico y será variable tope = ref + 1 cont = 1 'Creo una nueva hoja y me dirijo a ella Worksheets.Add(After:=ActiveSheet).Name = "DATOS_RESUMEN2" Sheets("DATOS_RESUMEN2").Select ActiveSheet.Range("A2").Select 'Empiezo a hacer una comparacion, donde digo que si la celda activa es igual a la variable tope, entonces que cuente cuantas celdas con datos hay en la columna A, si la celda y la variable son diferentes entonces deberá ir númerando en secuencia: 1, 2, 3, 4 For i = 2 To tope If ActiveCell = tope Then Range("A2").Select rng = WorksheetFunction.CountA(Range("A:A")) ' la idea de saber cuantos datos hay es que a la hora de ingresar la formula, se ingrese en el mismo numero de filas Else 'Aca es donde empiezo a enumerar las filas ActiveCell.Value = cont cont = ActiveCell.Value + 1 ActiveCell.Offset(1, 0).Select End If Next i 'A partir de acá es donde debería pegar la macro que ingrese la formula
2 respuestas
Respuesta de James Bond
2
Respuesta de Programar Excel
1