문제

셀을 반복하고 그래프 범위를 구축하려고 합니다.내 주요 문제는 'i'를 범위에 통합하는 방법을 알 수 없다는 것입니다.예:

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
도움이 되었습니까?

해결책

당신은 할 것입니다 :

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

가장 깨끗한 라인이 아니라 패턴을 제공해야합니다."루프"대신 "다음 I"가 필요하고 i= i + 1이 아닌 다른 문제가 있습니다. 그러나 컴퓨터에서 이것은 나에게 여러 시리즈가있는 그래프를주었습니다.

다른 팁

  1. 당신 수동으로 증가 i.
    기능 for loop 이미 당신을 위해 그것을 않습니다.
    그래서 제거i = i + 1.

  2. 지금,당신 Range 작업해야 합당""뭔가 다음과 같다: Range("E" & i & ":G" & i).내가 확실히 이해하지 않을 하려는 당신이 무엇을 달성으로 노력하고 데이터 6 다른 열..보 범위 에 대한 추가 정보를 제공합니다.

시도

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

시리즈 컬렉션에서 사용할 배열에 모든 값을 복사합니다

사용 Next i 대신에 Loop;그리고 그걸 없애버려 i = i+1.또한, "E" & i & ":G" & i 대신에 "E&i:G&i"

한 단계 더 나아가 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.

이는 구문에서도 유효하지 않습니다. 키워드는 Loop 다른 키워드와 연결되어 있습니다. Do, 그리고 For 와 연관되어 있다 Next

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top