[英]Excel VBA How to convert cell format text to number
我的代碼所做的是它會自動獲取文件夾中的所有 Excel 文件列表並比較主列表列上的序列號,然后如果值相同,它將復制序列號並將其粘貼到 C 列上。 如果兩種列格式相同,那么它將完美運行。 但如果該列以文本格式設置,則比較似乎會失敗。 我一直在尋找將這些單元格轉換為數字格式或通用格式的時間,以便可以成功進行比較而無需擔心格式。
Sub Compare()
Dim Dic As Object
Dim fso As Object
Dim fldStart As Object
Dim fl As Object
Dim Mask As String, i As Long
Dim Wbk As Worksheet, w1 As Worksheet
Set fso = CreateObject("scripting.FileSystemObject")
Set fld = fso.GetFolder("C:\Users\kelvinwong\Desktop\Survey Testing")
Set w1 = Workbooks("Book1.xlsm").Sheets("Sheet1")
Set Dic = CreateObject("Scripting.Dictionary")
Mask = "*.xlsx"
For Each fl In fld.Files
If fl.Name Like Mask Then
Set Wbk = Workbooks.Open(fld & "\" & fl.Name).Sheets("Sheet1")
i = Wbk.Cells.SpecialCells(xlCellTypeLastCell).Row
For Each oCell In Wbk.Range("A2:A" & i)
If Not Dic.exists(oCell.Value) Then
Dic.Add oCell.Value, oCell.Offset(, 0).Value
End If
Next oCell
End If
Next fl
i = w1.Cells.SpecialCells(xlCellTypeLastCell).Row
For Each oCell In w1.Range("A2:A" & i)
For Each key In Dic
If oCell.Value = key Then
oCell.Offset(, 2).Value = Dic(key)
End If
Next
Next
End Sub
嘗試Columns("A").TextToColumns
添加到您的代碼中: Columns("A").TextToColumns
。 它有效。
抱歉小編輯。 有人低估了我的答案,結果證明是正確的。 T_T
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.