** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Otros de Microsoft: Windows y Office > Excel
  Mensajes nuevos Mensajes nuevos RSS - Insertar fórmula en Excel con VB6
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Insertar fórmula en Excel con VB6

 Responder Responder
Autor
Mensaje
Emil Ver desplegable
Nuevo
Nuevo


Unido: 26/Diciembre/2019
Localización: 31190
Estado: Sin conexión
Puntos: 1
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita Emil Cita  ResponderRespuesta Enlace directo a este mensaje Tema: Insertar fórmula en Excel con VB6
    Enviado: 26/Diciembre/2019 a las 13:57
Tengo Excel 2000. En un botón tengo este código:

 'Formula la columna "Uds 30 días"
        Range("g8").Select
         Hoja1.Range("G8").Formula = "+SI(TIPO(BUSCARV(A8;M$8:N$192;1;FALSO))=16;"";BUSCARV(A8;M$8:N$192;2;FALSO))"
        Range("g8:g200").Select
        Selection.FillDown

La ejecución es correcta excepto que la columna G no asimila la fórmula, la muestra como una cadena de texto, pero no la ejecuta. Si accedo a cualquiera de las celdas que han quedado cargadas con el texto de la fórmula y hago una modificación cualquiera, la fórmula se ejecuta. Tan simple como, por ejemplo, eliminar el último paréntesis y reponerlo. 
He pensado que las dobles comillas podrían ser malintepretadas y las he sustituido por 'cero' (...=16;0;BUSCARV...) sin resultado. 
Es todo. Si no se entiende bien, intentaría exponerlo mejor. Gracias por vuestra atención.
Emilio

Arriba
Emilio Ver desplegable
Administrador
Administrador

Santander

Unido: 08/Agosto/2004
Localización: España
Estado: Sin conexión
Puntos: 18821
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita Emilio Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 26/Diciembre/2019 a las 14:10
Hola!
así por encima, si usas formula, has de ponerla en ingles, puedes intentarlo con FormulaLocal pero es mejor y mas fácil así
Worksheets("Hoja1").Range("G8:G200").FormulaR1C1="=IF(TYPE(VLOOKUP(RC[-6],R8C[6]:R192C[7],1,FALSE))=16,"""",VLOOKUP(RC[-6],R8C[6]:R192C[7],2,FALSE))"

Saludos a todos desde Huelva

http://www.mvp-access.es/emilio/
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable