Excel 如何在VBA中计算单元格中的整数并进行排序?
我有一列具有不同的数值。有些格式:Excel 如何在VBA中计算单元格中的整数并进行排序?,excel,vba,Excel,Vba,我有一列具有不同的数值。有些格式: 0.56 1.52 有些格式如下: 6,352.00 要在excel中进行计算,我想用数字格式为6352.00时的数字替换,并用其他所有替换。用 因此,在结果中,我应该得到: 0,56 1,52 6352,00 然后将它们从最大值排序到最小值 我试着写了一个VBA代码,这不是真的正确,也许有人可以帮助 Sub ChangeFormat1() Dim lngNumberOfCharacters As Long Set ws4 = Activ
0.56
1.52
有些格式如下:
6,352.00
要在excel中进行计算,我想用数字格式为6352.00时的数字替换,并用其他所有替换。用
因此,在结果中,我应该得到:
0,56
1,52
6352,00
然后将它们从最大值排序到最小值
我试着写了一个VBA代码,这不是真的正确,也许有人可以帮助
Sub ChangeFormat1()
Dim lngNumberOfCharacters As Long
Set ws4 = ActiveWorkbook.Sheets("atm_hh")
ws4.Select
Columns("C:C").Select
lngNumberOfCharacters = Len("C:C")
If lngNumberOfCharacters > 8
Selection.Replace What:=",", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Else
Selection.Replace What:=".", Replacement:=",", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
End If
ActiveWorkbook.Worksheets("atm_hh").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("atm_hh").Sort.SortFields.Add Key:=Range("C1"), _
SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("atm_hh").Sort
.SetRange Range("A2:D66842")
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
如果您真的想使用VBA
Sub ChangeFormat1()
Application.ScreenUpdating = False
Dim ws4 As Worksheet
Set ws4 = Sheets("atm_hh")
' If you only want to replace in column A for example
With ws4.Columns("A:A")
.Replace What:=",", Replacement:="", LookAt:=xlPart, SearchOrder:=xlByRows, _
MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
.Replace What:=".", Replacement:=",", LookAt:=xlPart, SearchOrder:=xlByRows, _
MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
End With
Application.ScreenUpdating = True
End Sub
我尝试使用公式:=SUBSTITUTESUBSTITUTEA1,,,,,,,但它给了我一个错误。例如,使用唯一字符首先从更改为,然后运行。to,然后^to.SUBSTITUTESUBSTITUTEA1,,,,,工作正常。@Ale。。。你的区域设置是什么?你这么做显然是为了这个原因。可能是您的公式必须使用;作为分隔符,而不是,。那就是替代品;,;;。;,