나는 숫자 목록을 가지고있다. 목록의 첫 번째 숫자를 시작 값으로 사용하고 VBA를 사용하여 후속 숫자를 뺍니다.
나는 여러 번 실패한 시도를했다.
Function less(rng As Range)
X = 0
For Each cell In rng
X = X - cell.Value
Next
less = X
End Function
첫 번째 값을 포함하여 모든 값의 빼기가 발생합니다. 예를 들어, 시퀀스 5,7,3,6에 대해 my 코드는 -21을 제공합니다. 하지만 나는 ~ 11을 기대합니다.
내가 시도한 다른 코드는 다음과 같다.
Function less(rng As Range)
X = 0
For Each cell In rng
X = X + cell.Value
X = X - cell.Value
Next
less = X
End Function
단지 각 값을 오버라이드하여 결과를 0으로 만듭니다.
목록의 첫 번째 값을 시작 값으로 만들고 그 다음 값의 빼기를 수행하려면 어떻게합니까?
나는 여기에 어떤 값의 부호에 대해서도 관심이 없다. 첫 번째 값으로 시작하여 후속 값을 빼는 논리적 인 순서 일 뿐이다.
참고 : 저는 VBA를 처음 사용하며 이것은 첫 번째 코딩입니다.
3
(1) 귀하의 코드는 그것이하는 일을 정확히 수행하고있는 것으로 보입니다. 뭐가 문제 야? (2) 범위에서 첫 번째 셀을 건너 뛰는 방법에 대한 전체 질문이 있습니까? 그렇다면 더 분명히 말해야합니다. (3) 당신은 VBA를 처음 사용한다고 말합니다. 일반적으로 프로그래밍을 처음 사용하십니까? 잘 알고있는 프로그래밍 언어로 문제를 해결하려면 어떻게해야할까요? Pleasedonot이 의견으로 응답합니다. 편집하다 귀하의 질문은 명확하고 더 완벽하게 이해합니다.
—
Scott
범위에 -5, 7, -3, 6 값이 포함될 경우 어떤 결과가 예상되는지 분명히 물어볼 수 있습니까? Btw, 초등 수학에서 음의 값을 빼는 것은 같은 양의 값을 가하는 것과 같습니다. 그래서 x - -1 = x + 1입니다. 그렇습니까?
—
Tom Brunberg
스콧 내가 내 질문을 편집했다, 난 그냥 범위의 첫 번째 값을 건너 뛰는 솔루션이 필요합니다.
—
Deepak Aggarwal
Tom에게는 나는 그것을 잘 알고 있습니다. 주어진 값의 결과는 -21이 될 것이고 나의 코드는 똑같을 것이다. 그러나 범위 5,7,3,6에 대해서도 제 코드는 -21을줍니다. 하지만 나는 ~ 11
—
Deepak Aggarwal
질문에서 샘플 코드를 제거한 이유는 무엇입니까? 우리가 당신을 이해하는 것이 더 어렵게하고 싶습니까?
—
teylyn