2014-11-13 3 views
0

시작하려면 나는 현명한 사람이 아닙니다. 그래서 두 개의 값을 합산하여 세 번째에 표시하려고했으나 (또한 쉽습니다) 무한한 양의 반복을 원했습니다 (즉, 모든 행에 대해 동일한 작업을 수행 했으므로 결과를 I5에 배치한다고 가정 해 봅시다). 나는 Visual Basic 2007 값 추가

그것은이어야한다 (... 등 I6, I7, I8) 그 아래 모든 I에, 또한 원하는 :

Private Sub Worksheet_Change() 

if IsNumeric(Range("B1").sort) And IsNumeric(Range("B2").sort) then 
Dim value1 As Single 
Dim value2 As Single 
range(I5).sort = value+1 + value2 

End Sub 

또는 내가 생각하는 내가 끔찍하게 잘못이야

답변

1

Range.Sort 속성을 사용하고 있습니다.

당신이 찾고있는 것을 달성하는 데는 몇 가지 방법이 있습니다. 추가 할 값이 예를 들어 열 A 위해에 주문하고 B가 될 경우

Public Sub addCells() 

Dim rng As Range, cell As Range 

'Set the sheet name 
With ThisWorkbook.Worksheets("Sheet_Name") 

    'Set the range below: 
    Set rng = .Range("I1:I10") 

    'Loop through range and add cells together 
    For Each cell In rng 
     cell.Value = cell.Offset(0, 2) + cell.Offset(0, 1) 
    Next cell 

End Sub 

또 다른 방법은 그것을 할 : 첫 번째 옵션은 범위를 통해 반복하고과 같이 각 셀에 해당 값을 추가하는 것입니다

Public Sub addCells() 

Dim rng As Range, cell As Range 

'Set the sheet name 
With ThisWorkbook.Worksheets("Sheet1") 

    'Add the first formula to the sheet 
    .Range("C1").Value = "=SUM(A1+B1)" 

    'Change the range below to the range to be filled 
    .Range("C1").AutoFill Destination:=.Range("C1:C10") 

End With 

End Sub 
+0

문제는 내가 범위를 추가하고 싶지 않다는 것입니다. 범위는 무제한이어야합니다. 그것이 내가 문제를 일으키는 곳입니다. 도움 주셔서 감사합니다. – TBC

+0

엑셀의 행/열 수에 제한이 있으므로 '무제한'할 수 없습니다. 마지막으로 사용한 행까지 계산하고 싶습니까? – Gareth

+0

기본적으로. 더 자세히 설명해 드리겠습니다. A + B를 추가하고 결과를 C로 드롭한다고 가정 해 봅시다. 무제한의 무작위로이 작업을 수행하려고합니다. 즉, 각 행은 하나의 거주지에서 코드를 복사하여 코드 자체는 '무제한'). 자신을 설명하는 데별로 좋지는 않습니다. – TBC