Eliminar comillas de la cadena

Resuelto
Hola,

Quisiera actualizar la lista de datos de un gráfico.
Tengo una variable IndicePreColon (="AA"), y quisiera que mi código:
ActiveChart.FullSeriesCollection(1).XValues = "=Weekly_Data! $IndicePreColon$&26:$AH$26" pueda leer solo AA y no "AA".

Ya intenté con IndicePreColon = Replace(IndicePreColon, Chr(160), ""), pero sin éxito.

Gracias de antemano por tu ayuda.

4 respuestas

  1. Hola

    IndicePreColon = Replace(IndicePreColon, Chr(160), "")
    no puede funcionar porque las comillas no forman parte del valor de la cadena.
    Sirven solo para delimitar el valor, para que puedas leer el código fácilmente pero también para que el compilador sepa cuándo comienza la cadena y cuándo termina.

    Para un número es fácil,
    numero = 123.45
    ahí, por ejemplo, comienza en el espacio y termina en el salto de línea, pero una cadena puede contener espacios y saltos de línea. Por lo tanto, fue necesario normalizar un carácter de delimitación.

    Tu problema es que no construimos un rango de esta manera en VBA.
    https://forums.commentcamarche.net/forum/affich-17227322-vba-range-avec-references-variables

    --
    Cuando era pequeño, el Mar Muerto solo estaba enfermo.
    George Burns
    0
    1. Hola Whismeril,

      Muchas gracias por tu respuesta, tengo bien visualizado el error.
      Así que tengo otra pregunta para estar completamente desbloqueado,

      ¿Cómo puedo integrar este rango en ActivateChart?

      ActiveChart.FullSeriesCollection(1).XValues = "=Weekly_Data! Range(IndicePreColon & RowX & ":" & IndiceDerColon & "26")"

      No funciona,

      Gracias de antemano,

      Rob
      0
      1. Moderador
         'ActiveChart.FullSeriesCollection(1).XValues = "=Weekly_Data! $IndicePreColon$&26:$AH$26" ActiveChart.FullSeriesCollection(1).XValues = "=Weekly_Data!" & IndicePreColon & "26:AH26" 
        0
    2. No código lo suficiente en vba para responderte de memoria y no tengo office a la mano para probar.

      Dicho esto, para mí, el nombre de la hoja forma parte del rango.
      Si he de creer esta discusión https://www.developpez.net/forums/d1154751/logiciels/microsoft-office/excel/macros-vba-excel/vba-utiliser-nom-feuille-variable/

      Deberías poder escribir algo como
      ActiveChart.FullSeriesCollection(1).XValues = Weekly_Data.Range(IndicePreColon & RowX & ":" & IndiceDerColon & "26")


      Cuando era pequeño, el mar Muerto solo estaba enfermo.
      George Burns
      0
    3. ¡Genial, me ayuda mucho!

      ¿Sabes decirme por qué esto no funciona?:

      Set ListeX = Sheets("Weekly_Data").Range(Cells(26, DebutColonY), Cells(26, DerColonY)).Select

      y por eso tendré
      ActiveChart.FullSeriesCollection(1).XValues = ListeX
      0
      1. Colaborador Embajador
        Hola, muestras un código, escribes que no funciona, sin explicarnos ni lo que observas (¿mensaje de error?), ni, sobre todo, lo que deseas realizar.
        0
      2. Colaborador Embajador
        usar select es, casi siempre, una mala práctica.
        0