excel - 从 00 :00 until 23:59 VBA 开始迭代时间

标签 excel vba

我想设置一个从 00:00 到 23:59 的时间表

到目前为止我得到了一点。我的问题是 vba 不断重写时间。

Sub uhrzeit()

Dim i As Integer
Dim stunde As Integer

For stunde = 1 To 24

For i = 1 To 60
  
    Cells(i, 1) = stunde
    Cells(i, 2) = i
       
Next i
    


Next stunde
End Sub

最佳答案

这很简单:您不必每小时前进(60),而是(重写)Cells(i, 1) 24 次。

请注意,您始终应该告诉 VBA 您要在哪张工作表上工作,并且不推荐使用 Integer(请改用 Long)。您可能希望时间从 0 到 23 运行,而不是从 1 到 24 运行,分钟从 0 到 59 运行。

Const rowOffset = 2
Dim stunde As Long, min as Long
With ActiveSheet ' Or something like ThisWorkbook.Sheets(1)
    For stunde = 0 To 23
        For min = 0 To 59
            Dim row As Long
            row = stunde * 60 + min + rowOffset
            .Cells(row, 1) = stunde
            .Cells(row, 2) = min
       Next min
    Next stunde
End With

更新添加了rowOffset - 显然你不能写入单元格0

关于excel - 从 00 :00 until 23:59 VBA 开始迭代时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75558719/

相关文章:

excel - 仅使用 VBA : Error "Unable to get the PasteSpecial property of the Range class 粘贴值

excel - 将 IF else 与 LEFT 组合以隐藏列

ms-access - 以 PTRSAFE 和 UNICODE 安全方式从 VBA 将 LPCTSTR 参数传递给 API 调用

vba - Excel VBA - 复制图表并粘贴为增强的图元文件

vba - Target.count 导致溢出错误

vba - 加速 Excel 宏?

excel - VBA:如何对值列表使用like运算符?

c# VSTO 从硬盘驱动器运行 VBA 模块

vba - 仅将颜色从一个单元格自动复制到另一个单元格 - EXCEL VBA

将单元格中包含公式的Excel文件读取到R中