gpt4 book ai didi

vba - 将文件大小从字节转换为 Kb 或 Mb

转载 作者:行者123 更新时间:2023-12-02 02:11:31 24 4
gpt4 key购买 nike

我有大量包含不同值的行,从 1000 到 1,000,000 不等。

这是我遇到的以字节为单位的数据,我需要将其分别转换为 Kb 或 Mb。

我可以将所有值除以 1M 并获取所有 Mb 数据,但我想要以 kb 和 Mb 为单位的数据。

我尝试使用 MOD 函数,但这并不能解决问题,因为所有数字都可以被 1K 和 1M 整除,所以我有点卡住了!

这是我得到的数据示例:

16000000
220000
2048000
2048000
230000
16000000
230000
16000000
220000
230000

所以我需要的是,如果单元格包含 6 个零,则除以 1M,或者如果单元格包含 3 个零,则除以 1000。

我将为每个单独的结果添加串联,以便区分数据。

最佳答案

这是您正在寻找的功能:

Public Function SizeInStr(ByVal Size_Bytes As Double) As String
Dim TS()
ReDim TS(4)
TS(0) = "b"
TS(1) = "kb"
TS(2) = "Mb"
TS(3) = "Gb"
TS(4) = "Tb"

Dim Size_Counter As Integer
Size_Counter = 0

If Size_Bytes <= 1 Then
Size_Counter = 1
Else
While Size_Bytes > 1
Size_Bytes = Size_Bytes / 1000
''Or
'Size_Bytes = Size_Bytes / 1024
Size_Counter = Size_Counter + 1
Wend
End If

SizeInStr = Format(Size_Bytes * 1000, "##0.0#") & " " & TS(Size_Counter - 1)
''Or
'SizeInStr = Format(Size_Bytes * 1024, "##0.0#") & " " & TS(Size_Counter - 1)
End Function

像这样简单地使用它:

Private Sub Test_SizeInStr()
MsgBox SizeInStr(1000000)
End Sub

关于vba - 将文件大小从字节转换为 Kb 或 Mb,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39912582/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com