2016-06-29 1 views
0

사용자에게 질문을하고 스프레드 시트의 새 행에 추가하는 Excel 스프레드 시트에 사용자 폼을 추가했습니다.새 행 추가시 Excel 수식 자동 추가

스프레드 시트의 각 열은 사용자 입력에 따라 계산되는 자체 수식이 있습니다.

내가 추가 한 행에 연속적으로있는 수식을 자동으로 "끌어 올"수있는 방법이 있습니까?

내 사용자 양식의 코드에서 변경할 수 있다고 상상합니다. 따라서 사람이 "제출"을 누르면 모든 셀이 업데이트됩니다. 그러나 값을 업데이트하는 방법 만 알고 수식을 추가하지는 않습니다. 다음은 내가 가지고있는 코드의 일부입니다 :

.Cells(iRow, 6).Value = Me.TextBox1.Value 
    .Cells(iRow, 7).Value = Me.TextBox2.Value 
    .Cells(iRow, 8).Value = Me.TextBox3.Value 
    .Cells(iRow, 9).Value = Me.TextBox4.Value 
    .Cells(iRow, 10).Value = Me.TextBox5.Value 
    .Cells(iRow, 11).Value = Me.TextBox6.Value 
    .Cells(iRow, 12).Value = Me.TextBox7.Value 
    .Cells(iRow, 13).Value = Me.TextBox8.Value 
    .Cells(iRow, 14).Value = Me.TextBox9.Value 
    .Cells(iRow, 15).Value = Me.TextBox10.Value 

뭔가를 추가하여 셀 값을 1-4로 변경할 수 있습니까? 아마 다음과 같은 : 수식 위의 셀에 이미

.Cells(iRow, 1).Value = *insert formula here* 

답변

1

당신은 공식 참조를 만들기 위해 범위 상대 식 속성 .FormulaR1C1를 사용할 수는 상대적으로 조정 : 당신이 동일한 공식을 원하는 경우

.Cells(iRow, 1).FormulaR1C1 = .Cells(iRow - 1, 1).FormulaR1C1 

또한 상대 참조 업데이트하지 않고, 대신 일반 .Formula 속성을 사용할 수 있습니다.

당신은 또한 한 번에 4 열의 수행 할 수 있습니다

.Cells(iRow, 1).Resize(, 4).FormulaR1C1 = .Cells(iRow - 1, 1).Resize(, 4).FormulaR1C1 
+0

이 내가 필요 정확히입니다! 정말 고마워 – Megan

0

경우에는 아래 수행 할 수 있습니다

.Range(.Cells(iRow - 1, 1).Address,.Cells(iRow, 1).Address).Filldown 

이 문제의 셀 위의 셀에서 수식을 채 웁니다.