Insérer automatiquement des courbes dans un graphique
3 réponses
Bonjour,
J'ai une feuille excel où j'ai placé 1 graphe (Zone de graphique).
Sur cette même feuille j'ai mes données.
Je souhaiterais grâce à des CheckBox dessiner ou suprrimer (ou alors faut-il
afficher et masquer) des données de mon tableau.
En ce moment mon code plante : Erreur d'exécution 424 , Objet requis !
Un extrait de la structure de mon code :
If Chk1 = True Then
If CO2004CA = True Then 'Valeur de ma Checkbox
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection(1).XValues = "=TBB!R66C4:R66C15"
ActiveChart.SeriesCollection(1).Values = "=TBB!R67C4:R67C15"
End If
If CO2004MB = True Then
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection(2).XValues = "=TBB!R66C4:R66C15"
ActiveChart.SeriesCollection(2).Values = "=TBB!R68C4:R68C15"
End If
If CO2005CA = True Then
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection(3).XValues = "=TBB!R66C4:R66C15"
ActiveChart.SeriesCollection(3).Values = "=TBB!R69C4:R69C15"
End If
If CO2005MB = True Then
ActiveChart.SeriesCollection.NewSeries
MsgBox (SeriesCollection.Name)
ActiveChart.SeriesCollection(4).XValues = "=TBB!R66C4:R66C15"
ActiveChart.SeriesCollection(4).Values = "=TBB!R70C4:R70C15"
End If
End If
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
anonymousA
bonjour,
parce que vraisemblablement activechart ne veut rien dire pour lui.Ensuite, je ne sais pas comment tu gères les séries (destruction/construction) mais il faudrait être vigilant au fait que la suppression d'une série du coup fait décaler le compteur de la collection et du coup tu peux te retrouver à vouloir définir une série dont le N° n'existe plus. Enfin, il peut exister une autre alternative qui consiste à crée"r toutes les séries une bonne fois puis à simplement gérer leur visibilité en leur faisant prendre p.e la couleur du fond et en enlevant la bordure.
exemple ci-dessous d'une telle pratique avec un diagramme en colonne avec 4 séries Dim chson As Chart Dim s As Series
Set chson = ActiveSheet.ChartObjects(1).Chart Set s = chson.SeriesCollection(4) With s .Interior.ColorIndex = chson.PlotArea.Interior.ColorIndex .Border.LineStyle = xlAutomatic End With
Dans le cas de fgure qui t'interesse, on pourrait imaginer que tu as créée tes 4 séries et quand tu veux seulement la 1ere affichée tu écris
Sub procaffiche(Num as integer)
Set chson = ActiveSheet.ChartObjects(1).Chart
for I=1 to 4 With chson.SeriesCollection(I) if I<>Num then .Interior.ColorIndex = chson.PlotArea.Interior.ColorIndex .Border.LineStyle = xlnone else .Interior.ColorIndex =3 'couleur rouge .Border.LineStyle = xlAutomatic end if End With next
End sub tu mets cette procédure dans les tests dans les différents If machin=true then sur que tu appelles ainsi
If CO2004CA = True Then procaffiche 1 If CO2004MB = True Then procaffiche 2 If CO2005CA = True Then procaffiche 3 If CO2005MB = True Then procaffiche 4
Enfin, c'est une solution comme une autre.
A+
Bonjour,
J'ai une feuille excel où j'ai placé 1 graphe (Zone de graphique). Sur cette même feuille j'ai mes données. Je souhaiterais grâce à des CheckBox dessiner ou suprrimer (ou alors faut-il afficher et masquer) des données de mon tableau. En ce moment mon code plante : Erreur d'exécution 424 , Objet requis ! Un extrait de la structure de mon code : If Chk1 = True Then If CO2004CA = True Then 'Valeur de ma Checkbox ActiveChart.SeriesCollection.NewSeries ActiveChart.SeriesCollection(1).XValues = "=TBB!R66C4:R66C15" ActiveChart.SeriesCollection(1).Values = "=TBB!R67C4:R67C15" End If If CO2004MB = True Then ActiveChart.SeriesCollection.NewSeries ActiveChart.SeriesCollection(2).XValues = "=TBB!R66C4:R66C15" ActiveChart.SeriesCollection(2).Values = "=TBB!R68C4:R68C15" End If If CO2005CA = True Then ActiveChart.SeriesCollection.NewSeries ActiveChart.SeriesCollection(3).XValues = "=TBB!R66C4:R66C15" ActiveChart.SeriesCollection(3).Values = "=TBB!R69C4:R69C15" End If If CO2005MB = True Then ActiveChart.SeriesCollection.NewSeries MsgBox (SeriesCollection.Name) ActiveChart.SeriesCollection(4).XValues = "=TBB!R66C4:R66C15" ActiveChart.SeriesCollection(4).Values = "=TBB!R70C4:R70C15" End If End If
MERCI DE VOTRE AIDE
bonjour,
parce que vraisemblablement activechart ne veut rien dire pour lui.Ensuite,
je ne sais pas comment tu gères les séries (destruction/construction) mais il
faudrait être vigilant au fait que la suppression d'une série du coup fait
décaler le compteur de la collection et du coup tu peux te retrouver à
vouloir définir une série dont le N° n'existe plus.
Enfin, il peut exister une autre alternative qui consiste à crée"r toutes
les séries une bonne fois puis à simplement gérer leur visibilité en leur
faisant prendre p.e la couleur du fond et en enlevant la bordure.
exemple ci-dessous d'une telle pratique avec un diagramme en colonne avec 4
séries
Dim chson As Chart
Dim s As Series
Set chson = ActiveSheet.ChartObjects(1).Chart
Set s = chson.SeriesCollection(4)
With s
.Interior.ColorIndex = chson.PlotArea.Interior.ColorIndex
.Border.LineStyle = xlAutomatic
End With
Dans le cas de fgure qui t'interesse, on pourrait imaginer que tu as créée
tes 4 séries et quand tu veux seulement la 1ere affichée tu écris
Sub procaffiche(Num as integer)
Set chson = ActiveSheet.ChartObjects(1).Chart
for I=1 to 4
With chson.SeriesCollection(I)
if I<>Num then
.Interior.ColorIndex = chson.PlotArea.Interior.ColorIndex
.Border.LineStyle = xlnone
else
.Interior.ColorIndex =3 'couleur rouge
.Border.LineStyle = xlAutomatic
end if
End With
next
End sub
tu mets cette procédure dans les tests dans les différents If machin=true
then
sur que tu appelles ainsi
If CO2004CA = True Then procaffiche 1
If CO2004MB = True Then procaffiche 2
If CO2005CA = True Then procaffiche 3
If CO2005MB = True Then procaffiche 4
Enfin, c'est une solution comme une autre.
A+
Bonjour,
J'ai une feuille excel où j'ai placé 1 graphe (Zone de graphique).
Sur cette même feuille j'ai mes données.
Je souhaiterais grâce à des CheckBox dessiner ou suprrimer (ou alors faut-il
afficher et masquer) des données de mon tableau.
En ce moment mon code plante : Erreur d'exécution 424 , Objet requis !
Un extrait de la structure de mon code :
If Chk1 = True Then
If CO2004CA = True Then 'Valeur de ma Checkbox
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection(1).XValues = "=TBB!R66C4:R66C15"
ActiveChart.SeriesCollection(1).Values = "=TBB!R67C4:R67C15"
End If
If CO2004MB = True Then
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection(2).XValues = "=TBB!R66C4:R66C15"
ActiveChart.SeriesCollection(2).Values = "=TBB!R68C4:R68C15"
End If
If CO2005CA = True Then
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection(3).XValues = "=TBB!R66C4:R66C15"
ActiveChart.SeriesCollection(3).Values = "=TBB!R69C4:R69C15"
End If
If CO2005MB = True Then
ActiveChart.SeriesCollection.NewSeries
MsgBox (SeriesCollection.Name)
ActiveChart.SeriesCollection(4).XValues = "=TBB!R66C4:R66C15"
ActiveChart.SeriesCollection(4).Values = "=TBB!R70C4:R70C15"
End If
End If
parce que vraisemblablement activechart ne veut rien dire pour lui.Ensuite, je ne sais pas comment tu gères les séries (destruction/construction) mais il faudrait être vigilant au fait que la suppression d'une série du coup fait décaler le compteur de la collection et du coup tu peux te retrouver à vouloir définir une série dont le N° n'existe plus. Enfin, il peut exister une autre alternative qui consiste à crée"r toutes les séries une bonne fois puis à simplement gérer leur visibilité en leur faisant prendre p.e la couleur du fond et en enlevant la bordure.
exemple ci-dessous d'une telle pratique avec un diagramme en colonne avec 4 séries Dim chson As Chart Dim s As Series
Set chson = ActiveSheet.ChartObjects(1).Chart Set s = chson.SeriesCollection(4) With s .Interior.ColorIndex = chson.PlotArea.Interior.ColorIndex .Border.LineStyle = xlAutomatic End With
Dans le cas de fgure qui t'interesse, on pourrait imaginer que tu as créée tes 4 séries et quand tu veux seulement la 1ere affichée tu écris
Sub procaffiche(Num as integer)
Set chson = ActiveSheet.ChartObjects(1).Chart
for I=1 to 4 With chson.SeriesCollection(I) if I<>Num then .Interior.ColorIndex = chson.PlotArea.Interior.ColorIndex .Border.LineStyle = xlnone else .Interior.ColorIndex =3 'couleur rouge .Border.LineStyle = xlAutomatic end if End With next
End sub tu mets cette procédure dans les tests dans les différents If machin=true then sur que tu appelles ainsi
If CO2004CA = True Then procaffiche 1 If CO2004MB = True Then procaffiche 2 If CO2005CA = True Then procaffiche 3 If CO2005MB = True Then procaffiche 4
Enfin, c'est une solution comme une autre.
A+
Bonjour,
J'ai une feuille excel où j'ai placé 1 graphe (Zone de graphique). Sur cette même feuille j'ai mes données. Je souhaiterais grâce à des CheckBox dessiner ou suprrimer (ou alors faut-il afficher et masquer) des données de mon tableau. En ce moment mon code plante : Erreur d'exécution 424 , Objet requis ! Un extrait de la structure de mon code : If Chk1 = True Then If CO2004CA = True Then 'Valeur de ma Checkbox ActiveChart.SeriesCollection.NewSeries ActiveChart.SeriesCollection(1).XValues = "=TBB!R66C4:R66C15" ActiveChart.SeriesCollection(1).Values = "=TBB!R67C4:R67C15" End If If CO2004MB = True Then ActiveChart.SeriesCollection.NewSeries ActiveChart.SeriesCollection(2).XValues = "=TBB!R66C4:R66C15" ActiveChart.SeriesCollection(2).Values = "=TBB!R68C4:R68C15" End If If CO2005CA = True Then ActiveChart.SeriesCollection.NewSeries ActiveChart.SeriesCollection(3).XValues = "=TBB!R66C4:R66C15" ActiveChart.SeriesCollection(3).Values = "=TBB!R69C4:R69C15" End If If CO2005MB = True Then ActiveChart.SeriesCollection.NewSeries MsgBox (SeriesCollection.Name) ActiveChart.SeriesCollection(4).XValues = "=TBB!R66C4:R66C15" ActiveChart.SeriesCollection(4).Values = "=TBB!R70C4:R70C15" End If End If
MERCI DE VOTRE AIDE
PMO
Bonjour,
Si il n'y a qu'un seul graphique dans votre feuille (celle ci étant active) ajoutez ces 2 lignes de code au début de votre procédure.
Dim C As ChartObject Set C = ActiveSheet.ChartObjects(1)
puis dans le reste de votre code remplacez ActiveChart par C exemple: If CO2004CA = True Then 'Valeur de ma Checkbox C.SeriesCollection.NewSeries C.SeriesCollection(1).XValues = "=TBB!R66C4:R66C15" C.SeriesCollection(1).Values = "=TBB!R67C4:R67C15" End If au lieu de If CO2004CA = True Then 'Valeur de ma Checkbox ActiveChart.SeriesCollection.NewSeries ActiveChart.SeriesCollection(1).XValues = "=TBB!R66C4:R66C15" ActiveChart.SeriesCollection(1).Values = "=TBB!R67C4:R67C15" End If --
Cordialement.
PMO Patrick Morange
Bonjour,
J'ai une feuille excel où j'ai placé 1 graphe (Zone de graphique). Sur cette même feuille j'ai mes données. Je souhaiterais grâce à des CheckBox dessiner ou suprrimer (ou alors faut-il afficher et masquer) des données de mon tableau. En ce moment mon code plante : Erreur d'exécution 424 , Objet requis ! Un extrait de la structure de mon code : If Chk1 = True Then If CO2004CA = True Then 'Valeur de ma Checkbox ActiveChart.SeriesCollection.NewSeries ActiveChart.SeriesCollection(1).XValues = "=TBB!R66C4:R66C15" ActiveChart.SeriesCollection(1).Values = "=TBB!R67C4:R67C15" End If If CO2004MB = True Then ActiveChart.SeriesCollection.NewSeries ActiveChart.SeriesCollection(2).XValues = "=TBB!R66C4:R66C15" ActiveChart.SeriesCollection(2).Values = "=TBB!R68C4:R68C15" End If If CO2005CA = True Then ActiveChart.SeriesCollection.NewSeries ActiveChart.SeriesCollection(3).XValues = "=TBB!R66C4:R66C15" ActiveChart.SeriesCollection(3).Values = "=TBB!R69C4:R69C15" End If If CO2005MB = True Then ActiveChart.SeriesCollection.NewSeries MsgBox (SeriesCollection.Name) ActiveChart.SeriesCollection(4).XValues = "=TBB!R66C4:R66C15" ActiveChart.SeriesCollection(4).Values = "=TBB!R70C4:R70C15" End If End If
MERCI DE VOTRE AIDE
Bonjour,
Si il n'y a qu'un seul graphique dans votre feuille (celle ci étant active)
ajoutez ces 2 lignes de code au début de votre procédure.
Dim C As ChartObject
Set C = ActiveSheet.ChartObjects(1)
puis dans le reste de votre code remplacez ActiveChart par C
exemple:
If CO2004CA = True Then 'Valeur de ma Checkbox
C.SeriesCollection.NewSeries
C.SeriesCollection(1).XValues = "=TBB!R66C4:R66C15"
C.SeriesCollection(1).Values = "=TBB!R67C4:R67C15"
End If
au lieu de
If CO2004CA = True Then 'Valeur de ma Checkbox
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection(1).XValues = "=TBB!R66C4:R66C15"
ActiveChart.SeriesCollection(1).Values = "=TBB!R67C4:R67C15"
End If
--
Cordialement.
PMO
Patrick Morange
Bonjour,
J'ai une feuille excel où j'ai placé 1 graphe (Zone de graphique).
Sur cette même feuille j'ai mes données.
Je souhaiterais grâce à des CheckBox dessiner ou suprrimer (ou alors faut-il
afficher et masquer) des données de mon tableau.
En ce moment mon code plante : Erreur d'exécution 424 , Objet requis !
Un extrait de la structure de mon code :
If Chk1 = True Then
If CO2004CA = True Then 'Valeur de ma Checkbox
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection(1).XValues = "=TBB!R66C4:R66C15"
ActiveChart.SeriesCollection(1).Values = "=TBB!R67C4:R67C15"
End If
If CO2004MB = True Then
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection(2).XValues = "=TBB!R66C4:R66C15"
ActiveChart.SeriesCollection(2).Values = "=TBB!R68C4:R68C15"
End If
If CO2005CA = True Then
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection(3).XValues = "=TBB!R66C4:R66C15"
ActiveChart.SeriesCollection(3).Values = "=TBB!R69C4:R69C15"
End If
If CO2005MB = True Then
ActiveChart.SeriesCollection.NewSeries
MsgBox (SeriesCollection.Name)
ActiveChart.SeriesCollection(4).XValues = "=TBB!R66C4:R66C15"
ActiveChart.SeriesCollection(4).Values = "=TBB!R70C4:R70C15"
End If
End If
Si il n'y a qu'un seul graphique dans votre feuille (celle ci étant active) ajoutez ces 2 lignes de code au début de votre procédure.
Dim C As ChartObject Set C = ActiveSheet.ChartObjects(1)
puis dans le reste de votre code remplacez ActiveChart par C exemple: If CO2004CA = True Then 'Valeur de ma Checkbox C.SeriesCollection.NewSeries C.SeriesCollection(1).XValues = "=TBB!R66C4:R66C15" C.SeriesCollection(1).Values = "=TBB!R67C4:R67C15" End If au lieu de If CO2004CA = True Then 'Valeur de ma Checkbox ActiveChart.SeriesCollection.NewSeries ActiveChart.SeriesCollection(1).XValues = "=TBB!R66C4:R66C15" ActiveChart.SeriesCollection(1).Values = "=TBB!R67C4:R67C15" End If --
Cordialement.
PMO Patrick Morange
Bonjour,
J'ai une feuille excel où j'ai placé 1 graphe (Zone de graphique). Sur cette même feuille j'ai mes données. Je souhaiterais grâce à des CheckBox dessiner ou suprrimer (ou alors faut-il afficher et masquer) des données de mon tableau. En ce moment mon code plante : Erreur d'exécution 424 , Objet requis ! Un extrait de la structure de mon code : If Chk1 = True Then If CO2004CA = True Then 'Valeur de ma Checkbox ActiveChart.SeriesCollection.NewSeries ActiveChart.SeriesCollection(1).XValues = "=TBB!R66C4:R66C15" ActiveChart.SeriesCollection(1).Values = "=TBB!R67C4:R67C15" End If If CO2004MB = True Then ActiveChart.SeriesCollection.NewSeries ActiveChart.SeriesCollection(2).XValues = "=TBB!R66C4:R66C15" ActiveChart.SeriesCollection(2).Values = "=TBB!R68C4:R68C15" End If If CO2005CA = True Then ActiveChart.SeriesCollection.NewSeries ActiveChart.SeriesCollection(3).XValues = "=TBB!R66C4:R66C15" ActiveChart.SeriesCollection(3).Values = "=TBB!R69C4:R69C15" End If If CO2005MB = True Then ActiveChart.SeriesCollection.NewSeries MsgBox (SeriesCollection.Name) ActiveChart.SeriesCollection(4).XValues = "=TBB!R66C4:R66C15" ActiveChart.SeriesCollection(4).Values = "=TBB!R70C4:R70C15" End If End If
MERCI DE VOTRE AIDE
Merci à anonymousA et PMO, mon erreur est bien dans le fait de supprimer et essayer de réafficher un indice qui n'existe plus. Je vais donc masquer et afficher.
@+ <serge.g8[NOSPAM]@laposte.net> a écrit dans le message de news: d74csf$1t0p$
Bonjour,
J'ai une feuille excel où j'ai placé 1 graphe (Zone de graphique). Sur cette même feuille j'ai mes données. Je souhaiterais grâce à des CheckBox dessiner ou suprrimer (ou alors faut-il afficher et masquer) des données de mon tableau. En ce moment mon code plante : Erreur d'exécution 424 , Objet requis ! Un extrait de la structure de mon code : If Chk1 = True Then If CO2004CA = True Then 'Valeur de ma Checkbox ActiveChart.SeriesCollection.NewSeries ActiveChart.SeriesCollection(1).XValues = "=TBB!R66C4:R66C15" ActiveChart.SeriesCollection(1).Values = "=TBB!R67C4:R67C15" End If If CO2004MB = True Then ActiveChart.SeriesCollection.NewSeries ActiveChart.SeriesCollection(2).XValues = "=TBB!R66C4:R66C15" ActiveChart.SeriesCollection(2).Values = "=TBB!R68C4:R68C15" End If If CO2005CA = True Then ActiveChart.SeriesCollection.NewSeries ActiveChart.SeriesCollection(3).XValues = "=TBB!R66C4:R66C15" ActiveChart.SeriesCollection(3).Values = "=TBB!R69C4:R69C15" End If If CO2005MB = True Then ActiveChart.SeriesCollection.NewSeries MsgBox (SeriesCollection.Name) ActiveChart.SeriesCollection(4).XValues = "=TBB!R66C4:R66C15" ActiveChart.SeriesCollection(4).Values = "=TBB!R70C4:R70C15" End If End If
MERCI DE VOTRE AIDE
Merci à anonymousA et PMO, mon erreur est bien dans le fait de supprimer et
essayer de réafficher un indice qui n'existe plus.
Je vais donc masquer et afficher.
@+
<serge.g8[NOSPAM]@laposte.net> a écrit dans le message de news:
d74csf$1t0p$1@biggoron.nerim.net...
Bonjour,
J'ai une feuille excel où j'ai placé 1 graphe (Zone de graphique).
Sur cette même feuille j'ai mes données.
Je souhaiterais grâce à des CheckBox dessiner ou suprrimer (ou alors
faut-il afficher et masquer) des données de mon tableau.
En ce moment mon code plante : Erreur d'exécution 424 , Objet requis !
Un extrait de la structure de mon code :
If Chk1 = True Then
If CO2004CA = True Then 'Valeur de ma Checkbox
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection(1).XValues = "=TBB!R66C4:R66C15"
ActiveChart.SeriesCollection(1).Values = "=TBB!R67C4:R67C15"
End If
If CO2004MB = True Then
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection(2).XValues = "=TBB!R66C4:R66C15"
ActiveChart.SeriesCollection(2).Values = "=TBB!R68C4:R68C15"
End If
If CO2005CA = True Then
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection(3).XValues = "=TBB!R66C4:R66C15"
ActiveChart.SeriesCollection(3).Values = "=TBB!R69C4:R69C15"
End If
If CO2005MB = True Then
ActiveChart.SeriesCollection.NewSeries
MsgBox (SeriesCollection.Name)
ActiveChart.SeriesCollection(4).XValues = "=TBB!R66C4:R66C15"
ActiveChart.SeriesCollection(4).Values = "=TBB!R70C4:R70C15"
End If
End If
Merci à anonymousA et PMO, mon erreur est bien dans le fait de supprimer et essayer de réafficher un indice qui n'existe plus. Je vais donc masquer et afficher.
@+ <serge.g8[NOSPAM]@laposte.net> a écrit dans le message de news: d74csf$1t0p$
Bonjour,
J'ai une feuille excel où j'ai placé 1 graphe (Zone de graphique). Sur cette même feuille j'ai mes données. Je souhaiterais grâce à des CheckBox dessiner ou suprrimer (ou alors faut-il afficher et masquer) des données de mon tableau. En ce moment mon code plante : Erreur d'exécution 424 , Objet requis ! Un extrait de la structure de mon code : If Chk1 = True Then If CO2004CA = True Then 'Valeur de ma Checkbox ActiveChart.SeriesCollection.NewSeries ActiveChart.SeriesCollection(1).XValues = "=TBB!R66C4:R66C15" ActiveChart.SeriesCollection(1).Values = "=TBB!R67C4:R67C15" End If If CO2004MB = True Then ActiveChart.SeriesCollection.NewSeries ActiveChart.SeriesCollection(2).XValues = "=TBB!R66C4:R66C15" ActiveChart.SeriesCollection(2).Values = "=TBB!R68C4:R68C15" End If If CO2005CA = True Then ActiveChart.SeriesCollection.NewSeries ActiveChart.SeriesCollection(3).XValues = "=TBB!R66C4:R66C15" ActiveChart.SeriesCollection(3).Values = "=TBB!R69C4:R69C15" End If If CO2005MB = True Then ActiveChart.SeriesCollection.NewSeries MsgBox (SeriesCollection.Name) ActiveChart.SeriesCollection(4).XValues = "=TBB!R66C4:R66C15" ActiveChart.SeriesCollection(4).Values = "=TBB!R70C4:R70C15" End If End If