excel VBA를 통해 Text(E2,"MM/DD/YYYY")
수식을 적용하려고했습니다. 여러 시트를 사용하고 셀 대상과 셀 참조가 고정되어 있지 않습니다. 그러므로 나는 완벽하게 작동하는 Cell 대상에 대해 Input-box 메서드를 사용했으며 inputbox 메서드를 통해 수식에서 셀 참조를 수동으로 선택하거나 변경하려고했습니다. 예. A2 셀에 위 공식을 쓰면 타겟 셀은 E2입니다. 셀 선택은 inputbox를 통해 이루어져야합니다.입력 상자 방법을 사용한 수식에 대한 설명
초기 계획은 inputbox로 두 가지를 모두 선택하는 것이었지만 초보자 일 뿐이므로 계획을 변경하고 코드를 다시 작성했습니다. 그러나 입력 상자에서 수식 범위를 편집하는 동안 코드에 문제가있는 것 같고 때로는 내 iputs를 고려하지 않습니다. 내가 텍스트 (E2,"MM/DD/YYYY")
을 말한다면 그것은 (현재 따라 텍스트 (D2 또는 무언가, "MM/DD/YYYY ')
Option Explicit
Sub FinalTxtDte()
Dim Rng As range
Dim LastRow As Long
Dim Frmla As String
Dim DestRng As range
On Error Resume Next ' if the user presses "Cancel"
Set Rng = Application.InputBox("Select a Cell which needs to be converted in Date format.", "Range Selection", Type:=8)
Err.Clear
On Error GoTo 0
If Not Rng Is Nothing Then
Frmla = "=TEXT(" & Rng.Address("False", "False") & ",""MM/DD/YYYY"")"
On Error Resume Next ' if the user presses "Cancel"
Set DestRng = Application.InputBox("Select a Cell where you would like to get a Converted Date.", "Range Selection", Type:=8)
Err.Clear
On Error GoTo 0
If Not DestRng Is Nothing Then
DestRng.Formula = Frmla
LastRow = Rng.End(xlDown).Row
DestRng.Select
range(Selection, Selection.Offset(LastRow - Rng.Row, 0)).Select
Selection.FillDown
range(Selection, Selection.Offset(LastRow - Rng.Row, 0)).Value _
= range(Selection, Selection.Offset(LastRow - Rng.Row, 0)).Value
End If
End If
End Sub
'r [0] c [1]'은 선택을 1 씩 상쇄합니다.'r [0] c [0]'사용 – cyboashu
On Error 행을 주석 처리하고 어떤 일이 발생하는지 봅니다. 아마 RNG가 = "아닌 것보다 아무것도 아닌지 여부를 확인해야한다고 생각합니다. – SJR