Domanda

Sto cercando di loop attraverso le cellule e costruire un intervallo per un grafico.Il mio problema principale è che non riesco a capire come incorporare il "io" nella gamma.Esempio:

Dim name As String
Dim newChart as Chart
Dim i as Integer
Set newChart = Charts.add    

For i = 1 To 20

    accName = Range("C" & i).Value          'I understand why this works. 

    With newChart
        .ChartType = xlColumnClustered
        .SeriesCollection.NewSeries     
        .SeriesCollection(1).Name = accName
        .SeriesCollection(1).Values = wb.Worksheets("Summary-Account").Range("E&i:G&i, I&i:K&i, M&i:O&i, Q&i:S&i")          'How can I get this to work?
        .SeriesCollection(1).XValues = wb.Worksheets("Summary-Account").Range("E3:G3, I3:K3, M3:O3, Q3:S3")
    End With

    i = i + 1

Loop
.

È stato utile?

Soluzione

Probabilmente devi avere:

.SeriesCollection(1).Values = wb.Worksheets("Summary-Account").Range("E" & i & ":G" & i & ", I" & i & ":K" & i & ", M" & i & ":O" & i & ", Q" & i & ":S" & i)
.

Non la linea più chiara mai, ma dovrebbe darti il modello da passare.Ci sono altri problemi come bisogno di un "successivo" invece di un "loop" e no I= I + 1, ma sul mio computer mi ha dato un grafico con più serie su di esso.

Altri suggerimenti

    .
  1. You Do not Incremento Manualmente i.
    La funzione for loop lo fa già per te.
    Quindi Rimuovi Quel i = i + 1.

  2. Ora, per rendere il tuo lavoro Range, avresti bisogno del suo "" per essere qualcosa del genere: Range("E" & i & ":G" & i).Non capisco di sapere cosa stai cercando di ottenere con il tentativo di prendere dati da 6 diverse colonne .. Vedi Intervallo per ulteriori informazioni.

Prova

.SeriesCollection(1).Values = Range("E1").Resize(20,1).Value
.

Copierà tutti i valori in un array per l'uso in serie collezione

Utilizzare Next i anziché Loop;e sbarazzarsi di quel i = i+1. Inoltre, utilizzare "E" & i & ":G" & i anziché "E&i:G&i"

Un passo avanti, in VBA

Dim i as double
For i = 1 to 100 Step 10  '<= Step 10 means when updating i, i = i + 10, and default value would be 1
Loop  '<=breaks here, compile error is expected.
.

Non è nemmeno valido in sintassi, la parola chiave Loop è associata a un'altra parola chiave Do e For è associato a Next

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top