¿Cómo evitar las comillas de un rango en una macro?
Buenas,
Estoy intentado hacer una macro dónde inserto en diferentes celdas un CONTAR.SI, pero no consigo que me coja el rango que le especifico.
La fórmula que me escribe en la celda me queda de la siguiente manera (estando en la celda 'Hoja1'!A1 por ejemplo): =CONTAR.SI('Munt. Acc.'!'O2':'Munt. Acc.'!'O3000';B9) y me da #¿NOMBRE? Por las comillas simples de cada celda del rango. ¿Qué puedo hacer? Tengo otra fórmula de suma y no tengo ese problema, pero en este caso tengo que situar el rango en otra hoja distinta de la que estoy. ¿Puede ser este el problema?
Ahí va la parte del código:
Dim Inici As String
Dim Final As String
Dim Direccio As String
Dim Quantitat As Integer
Dim LlocQ As String
LlocQ = ActiveSheet.Range("C1").Value [C1 es una dirección a varias celdas (va cambiando) que contienen un número distinto.]
Quantitat = ActiveSheet.Range(LlocQ).Value
For k = 1 To Quantitat
Inici = Sheets("Hoja1").Range("H3").Value [=DIRECCION(2;15+G2;4;;"Munt. Acc.")]
Final = Sheets("Hoja1").Range("H2").Value [=DIRECCION(3000;15+G2;4;;"Munt. Acc.")][También he probado sin definir la hoja y escribiendola en la fórmula de abajo antes del rango: 'Munt. Acc.'!" & Inici & ":" & Final & " etc...]
Direccio = Sheets("Hoja1").Range("D1").Value [Dirección a la celda dónde colocar la fórmula]
Range(Direccio).Formula = "=IF(RC[-1]=""Quantitat"",""Restant"",IF(RC[-1]="""","""",RC[-1]-COUNTIF(" & Inici & ":" & Final & ",RC[-2])))"
La fórmula de la suma que funciona es esta:
Comptador = ActiveSheet.Range("D5").Value [Dirección a una celda de la misma hoja]
Suma = ActiveSheet.Range("E5").Value [Dirección a una celda de la misma hoja]
Ultima = ActiveSheet.Range("C5").Value [Dirección a una celda de la misma hoja]
Range(Suma).Select
ActiveCell.Formula = "=SUM(" & Comptador & ":" & Ultima & ")"
Como podéis ver, la fórmula es la misma por lo que hace a definir los rangos.
Agradezco la ayuda de antemano. Muchas gracias! ;)
Estoy intentado hacer una macro dónde inserto en diferentes celdas un CONTAR.SI, pero no consigo que me coja el rango que le especifico.
La fórmula que me escribe en la celda me queda de la siguiente manera (estando en la celda 'Hoja1'!A1 por ejemplo): =CONTAR.SI('Munt. Acc.'!'O2':'Munt. Acc.'!'O3000';B9) y me da #¿NOMBRE? Por las comillas simples de cada celda del rango. ¿Qué puedo hacer? Tengo otra fórmula de suma y no tengo ese problema, pero en este caso tengo que situar el rango en otra hoja distinta de la que estoy. ¿Puede ser este el problema?
Ahí va la parte del código:
Dim Inici As String
Dim Final As String
Dim Direccio As String
Dim Quantitat As Integer
Dim LlocQ As String
LlocQ = ActiveSheet.Range("C1").Value [C1 es una dirección a varias celdas (va cambiando) que contienen un número distinto.]
Quantitat = ActiveSheet.Range(LlocQ).Value
For k = 1 To Quantitat
Inici = Sheets("Hoja1").Range("H3").Value [=DIRECCION(2;15+G2;4;;"Munt. Acc.")]
Final = Sheets("Hoja1").Range("H2").Value [=DIRECCION(3000;15+G2;4;;"Munt. Acc.")][También he probado sin definir la hoja y escribiendola en la fórmula de abajo antes del rango: 'Munt. Acc.'!" & Inici & ":" & Final & " etc...]
Direccio = Sheets("Hoja1").Range("D1").Value [Dirección a la celda dónde colocar la fórmula]
Range(Direccio).Formula = "=IF(RC[-1]=""Quantitat"",""Restant"",IF(RC[-1]="""","""",RC[-1]-COUNTIF(" & Inici & ":" & Final & ",RC[-2])))"
La fórmula de la suma que funciona es esta:
Comptador = ActiveSheet.Range("D5").Value [Dirección a una celda de la misma hoja]
Suma = ActiveSheet.Range("E5").Value [Dirección a una celda de la misma hoja]
Ultima = ActiveSheet.Range("C5").Value [Dirección a una celda de la misma hoja]
Range(Suma).Select
ActiveCell.Formula = "=SUM(" & Comptador & ":" & Ultima & ")"
Como podéis ver, la fórmula es la misma por lo que hace a definir los rangos.
Agradezco la ayuda de antemano. Muchas gracias! ;)
1 Respuesta
Respuesta de calvuch
1