繁体   English   中英

在同一工作表中查找不同范围的lastrow

[英]Finding lastrow of different range in same worksheet

我需要执行一个自动化任务,将Linux中的表复制到excel,然后填充图形进行跟踪。 该任务几乎是完全自动化的,但我仍然需要在Excel中完成一些手动工作。

假设在Summary(1)工作表中,我有10种不同的模式,而Summary(2)工作表中有10种不同的模式。 每个星期,每种模式的数据都会从F:K列自动更新。 我已经使用VBA自动完成了这一部分。 但是,我需要为每种模式的col A:D手动编写:

  • A:O表示已占用,E表示已空
  • B列:周数
  • col C:日期采用特定格式,而不是通常的格式
  • col D:数据库名称

由10种模式组成的Summary工作表从A1:S51(mode1),A52:S:101(mode2)等依次类推,直到最后一个A452:S501(模式10),所有模式的范围均为50个单元格。

我已经提示用户输入并存储在变量中,但是如何将值粘贴到每种模式的下一行。 例如,我已经从W1更新到W4,当用户提示输入WW5时,这些值将存储在每种模式的lastrow之后的下一行中。

这是模式1和2的外观示例。在模式2之后可能会遵循其余模式。

发明内容(1)

这是我当前的代码,当用户输入值时,它将粘贴到每种模式的第一行:

Private Sub CommandButton1_Click()

Dim d As Variant
Dim w As Variant
Dim daymonth As Variant
Dim data As Variant
Dim i As Integer

d = InputBox("Enter the D:")
w = InputBox("Enter the Week:")
daymonth = InputBox("Enter the date:")
data = InputBox("Enter the database name:")
For i = 2 To 501 Step 50
     Cells(i, 1).Value = d
     Cells(i, 2).Value = w
     Cells(i, 3).Value = daymonth
     Cells(i, 4).Value = data

Next i

End Sub

这是可以解决问题的代码。 在运行代码之前,如果任何模式的数据少于两行,则此代码将无法正常工作。 在这种情况下,您将需要根据要处理的方式对其进行修改。

wk_no = InputBox("Enter Week")

For i = 1 To 2 ' Iterating through sheets
    For j = 2 To 452 Step 50 'Iterating through the rows
        Sheets(i).Range("B" & Trim(Str(j))).End(xlDown).Offset(1, 0).Value = wk_no
    Next j
Next i

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM