programing

문자열로서의 Excel 셀 값은 문자열로 저장되지 않습니다.

yellowcard 2023. 8. 13. 09:38
반응형

문자열로서의 Excel 셀 값은 문자열로 저장되지 않습니다.

셀 내용을 가져와 문자열로 저장하는 코드를 가져올 수 없습니다.나는 두 배를 얻습니다.
54.6666666667대신에N03:DM:(셀 내용 포함).

사용할 경우Cstr(Sheet1.Cells(i, 5).Value)저는 여전히 같은 결과를 얻습니다.

어떤 도움이라도 주시면 감사하겠습니다.

Option Explicit
Private Sub GetAddress()

Dim varAdd As String
Dim i As Integer

    For i = 2 To 327
        If varTag = Sheet1.Cells(i, 2).Value Then
           varAdd = Sheet1.Cells(i, 5).Value
           varAdd = Left(varAdd, 7)
           Sheet3.Cells(incR, 2).Value = varAdd
           Exit For
        End If   
    Next i

End Sub

시트 스크린샷enter image description here

사용하다Range("A1").Text대신에.Value

게시물 댓글 편집:
왜요?
왜냐하면..TextRange 객체의 속성은 스프레드시트에 문자 그대로 표시되는 것을 반환합니다. 예를 들어 셀이 표시되는 경우i100l:25he*_92그러면 <-Text포맷을 포함하여 셀에 있는 것을 정확히 반환합니다.
.Value그리고..Value2속성은 형식 지정을 제외하고 후드 아래의 셀에 저장된 내용을 반환합니다.특별히.Value2날짜 유형의 경우 십진수 표시를 반환합니다.

만약 당신이 의미와 성과를 더 깊이 파고들고 싶다면, 나는 방금 좋은 가이드로 보이는 것을 발견했습니다.

또 다른 편집
여기 있습니다. @Santosh.
DEFAULT(콜 A)에서 다른 열로 값을 (수동으로) 입력합니다.
열 A의 형식을 전혀 지정하지 않음
열 B를 텍스트로 형식 지정
열 C를 날짜로 형식 지정[dd/mm/yyyy]
열 형식 D를 백분율로 지정
Dont Format column A, Format B as TEXT, C as Date, D as Percentage
지금이다,
모듈에 이 코드 붙여넣기

Sub main()

    Dim ws As Worksheet, i&, j&
    Set ws = Sheets(1)
    For i = 3 To 7
        For j = 1 To 4
            Debug.Print _
                    "row " & i & vbTab & vbTab & _
                    Cells(i, j).Text & vbTab & _
                    Cells(i, j).Value & vbTab & _
                    Cells(i, j).Value2
        Next j
    Next i
End Sub

그리고 출력!그것은 정말 쉽고 제가 도울 수 있는 일이 별로 없습니다 :)

            .TEXT              .VALUE             .VALUE2
row 3       hello             hello               hello
row 3       hello             hello               hello
row 3       hello             hello               hello
row 3       hello             hello               hello
row 4       1                 1                   1
row 4       1                 1                   1
row 4       01/01/1900        31/12/1899          1
row 4       1.00%             0.01                0.01
row 5       helo1$$           helo1$$             helo1$$
row 5       helo1$$           helo1$$             helo1$$
row 5       helo1$$           helo1$$             helo1$$
row 5       helo1$$           helo1$$             helo1$$
row 6       63                63                  63
row 6       =7*9              =7*9                =7*9
row 6       03/03/1900        03/03/1900          63
row 6       6300.00%          63                  63
row 7       29/05/2013        29/05/2013          41423
row 7       29/05/2013        29/05/2013          29/05/2013
row 7       29/05/2013        29/05/2013          41423
row 7       29/05/2013%       29/05/2013%         29/05/2013%

언급URL : https://stackoverflow.com/questions/16820553/excel-cell-value-as-string-wont-store-as-string

반응형