excel - 在 Excel 中为风数据格式化组合数字
问题描述
我在 Excel 中有一个数据表,其中一列有风向,另一列有风速。我想结合风速和风向,然后将其格式化为某种方式。
所以例如
西部数据 | WS | 组合 |
---|---|---|
050 | 12.23 | 50 12.23 |
360 | 21.54 | 360 21.54 |
我需要合并的数据看起来像:050 12 或 360 21 等。我已经成功地将数据合并到一个带有以下代码的新列中,但在我的一生中无法按照我需要的方式格式化数字。非常感谢任何帮助!
Public Sub CombineWind()
Dim xy As Worksheet
Set xy = Worksheets("combine")
Dim LRow As Long
With ActiveSheet
LRow = .Cells(.Rows.Count, "A").End(xlUp).Row
.Columns(8).Insert
xy.Range("H3:H" & LRow).Formula = "=B3 & "" "" & C3"
End With
With ActiveSheet
LRow = .Cells(.Rows.Count, "A").End(xlUp).Row
.Columns(9).Insert
xy.Range("I3:I" & LRow).Formula = "=D3 & "" "" & E3"
End With
With ActiveSheet
LRow = .Cells(.Rows.Count, "A").End(xlUp).Row
.Columns(10).Insert
xy.Range("J3:J" & LRow).Formula = "=F3 & "" "" & G3"
End With
Range("H2") = "Average"
Range("I2") = "Min"
Range("J2") = "Max"
End Sub
解决方案
下面的代码片段虽然还没有准备好粘贴和执行,但应该可以帮助您。
Dim Arr As Variant
With ActiveSheet
' take the value of a range from A1 to end x 7 columns
Arr = .Range(.Cells(1, 1), .Cells(.Rows.Count, "A").End(xlUp)).Resize(, 7).Value
End With
With xy
For R = 2 To .Cells(.Rows.Count, "A").End(xlUp).Row
.Cells(R, "H").Value = Format(Arr(3, 2), "000 ") & Format(Arr(3, 3), "hh:mm")
Next R
End With
使用ActiveSheet
总是很危险的。最好在代码中命名工作表。
上面的代码片段将输入表读入一个数组。重要的是在 A1 中启动数组,这样 Arr(1, 1) = A1,因此 Arr(3, 2) = B3。无需进一步帮助即可轻松阅读。
.Cells(R, "H")
Value
标识要设置其属性的正确单元格,但Format(Arr(3, 2), "000 ") & Format(Arr(3, 3), "hh:mm")
仅指定所采用数组的 B3 和 C3 必须通过可能仅使行号以某种关系调整来使其动态化R
。重点是展示如何设置“组合”列的值。
推荐阅读
- javascript - 无法使用 Firefox 从 navigator.mediaDevices.getUserMedia 获取两个音频流
- c# - Visual Studio 可以编译“外部别名”但 VS Code 不能
- c# - C#:如何根据子元素的属性过滤 XML 文件的结果?
- c# - 从 UserControl MVVM 隐藏 WPF 中的 MainWindow
- ruby - 使用 Ruby 中的预签名 URL 上传到 AWS S3
- firebase - 云函数幂等性问题
- python - 创建一个由其他列组合而成的列
- vuejs2 - 使用 vuetify 进行多个快速拨号
- linux - 知道文件夹中的最后一个文件是否超过 1 小时
- c++ - 在不同的封装级别使用相同的变量名会导致定义的行为吗?