0
한 시트에서 다른 시트로 데이터를 복사하는 데 다음 코드를 사용합니다. 새 데이터를 복사 할 때마다 새 행에 삽입됩니다. 현재/현재 행의 셀 D 및 E에 수식을 삽입하고 동적 셀 참조를 사용할 수 있어야합니다. 5 행이면 A5가되고 6 행이면 A6이됩니다.vba 공식을 삽입하고 동적 셀 참조 (현재 행의 셀 참조)를 가져 오겠습니까?
나는 ActiveCell.Formula와 DestRow를 사용해 보았지만 아무것도 작동하지 않습니다.
누군가이 일을 어떻게 할 수 있는지 보여 주실 수 있습니까? 미리 감사드립니다.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.DisplayAlerts = False
If Target.Column = Range("Z1").Column And Range("Z" & ActiveCell.Row).Value = "SUBMIT" Then
Dim ws1 As Worksheet, ws2 As Worksheet
Dim DestRow As Long
Set ws1 = Sheets("Home")
Set ws2 = Sheets("Statistics")
DestRow = ws2.Cells(Rows.Count, "A").End(xlUp).Row + 1
ws1.Range("B10").Copy
ws2.Range("A" & DestRow).PasteSpecial xlPasteValuesAndNumberFormats
ws1.Range("B15").Copy
ws2.Range("B" & DestRow).PasteSpecial xlPasteValuesAndNumberFormats
ws1.Range("B20").Copy
ws2.Range("C" & DestRow).PasteSpecial xlPasteValuesAndNumberFormats
ws2.Range("D" & DestRow).Formula = "=IF(ISTEXT(A5),IF(E5 <>""Yes"",CONCATENATE(""NS"")&RANDBETWEEN(0,9)&RANDBETWEEN(0,9)&RANDBETWEEN(0,9)&RANDBETWEEN(0,9)&RANDBETWEEN(0,9)&RANDBETWEEN(0,9),D5),"""")"
ws2.Range("E" & DestRow).Formula = "=IF(ISTEXT(A5),IF(ISTEXT(D5),""Yes"",""N/A""),"""")"
ws1.Range("Y7").Copy
ws2.Range("F" & DestRow).PasteSpecial xlPasteValuesAndNumberFormats
ws1.Range("H10").Copy
ws2.Range("H" & DestRow).PasteSpecial xlPasteValuesAndNumberFormats
End If
End Sub