2014-02-07 6 views
0

사용자가 숫자를 입력 할 때 Excel 양식을 사용합니다.이 숫자는 스프레드 시트에 입력 할 때 텍스트로 저장된 번호라는 알림과 함께 표시됩니다. = SUM (H6 : H13)은 0의 결과를 나타냅니다. 시도했습니다. NumCrtn = cLng (NumCrtn) - 셀을 숫자로 변경하지 않아도 수식은 여전히 ​​0을 표시합니다. 시도했습니다 NumCrtn = Val (NumCrtn) - 셀을 숫자로 변경하지 않더라도 수식은 여전히 ​​0을 표시합니다.Excel VBA - 사용자 양식에 입력 된 문자열을 숫자로 변환합니다.

복사 및 붙여 넣기 시도했습니다. 특정 값으로 및 숫자 중 하나를 변경하지 마십시오. 할 일을 모릅니다.

도움말!

+0

변경 숫자로'Range'의'NumberFormat'처럼 뭔가 코드를 변경하고 확인 메시지 –

+2

숫자 형식 만 바꾸면 작동하지 않습니다. 범위가'H6 : H13' 인 경우 셀에 쓰기 전에 형식을 변경해야합니다. 예 : 'Range ("H6 : H13"). NumberFormat = "#, ## 0"'그리고 나서 Range ("H6"). 값 = "무언가"' –

+0

[VBA : Conver Text - > 번호 곱하기 1] (http://stackoverflow.com/questions/20192371/vba-conver-text-number-multiplying-by-1) –

답변

1

이 하나의 시도 :

With Range("H6:H13") 
    .NumberFormat = "0" 
    .Value = .Value 
End With 

편집 :

또 다른 솔루션입니다. 그것은 여전히를 보여주는 경우 데이터를 입력하기 전에 범위를 준비 다루는 프라 딥 쿠마르의 제안에 건물이

Private Sub UserForm_Initialize() 
    Dim aCell As Range 

    Range("H6:H13").NumberFormat = "0" 

    'This is to cater for any previous values if filled in 
    For Each aCell In Range("H6:H13") 
     aCell.Formula = aCell.Value 
    Next 
End Sub 

Private Sub CommandButton1_Click() 
    'Entering value for H6 
    Range("H6").Value = TextBox1.Value 
End Sub 
0
Range("H6:H13").NumberFormat = "#,##0" 
+0

불행히도 문제가 해결되지 않았습니다. – JovialJohn

0

이것은 VBA 솔루션이 아니라 일반 Excel 솔루션입니다. 기본 설정을 할 것입니다 종종 열

  • 에 텍스트 및 완료를 클릭 할 수 있습니다 -이

    1. 가 열
    2. 데이터 선택을 선택처럼
      는 마십시오. 매개 변수의 많은이 TextToColumns에있다

      Columns("A:A").TextToColumns 
      

      : 그렇지 않으면 당신 는 결과가 바로이 다음과 같이 보일 것하고

    매크로 단지 "일반"열이 있는지 확인해야합니다 메서드를 호출 할 수 있지만 기본값 (매개 변수 없음) 만 있으면 정상적으로 작동합니다.

  • +0

    감사합니다. 문제는이 스프레드 시트가 userform의 VBA 코드에서 전자 메일을 통해 전송되기 때문에 사용자 서식 코드에서이 스프레드 시트를 해결하려는 것입니다. – JovialJohn

    +0

    코드도 추가했습니다. – Sam

    관련 문제