Imprimir página | Cerrar ventana

Insertar fórmula en Excel con VB6

Impreso de: Foro de Access y VBA
Categoría: Otros de Microsoft: Windows y Office
Nombre del foro: Excel
Descripción del foro: Foro de Excel y VBA de Excel
URL: http://www.mvp-access.com/foro/forum_posts.asp?TID=84918
Fecha de impresión: 26/Marzo/2026 a las 18:58


Tema: Insertar fórmula en Excel con VB6
Publicado por: Emil
Asunto: Insertar fórmula en Excel con VB6
Fecha de publicación: 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




Respuestas:
Publicado por: Emilio
Fecha de publicación: 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/" rel="nofollow - http://www.mvp-access.es/emilio/



Imprimir página | Cerrar ventana