[英]Finding lastrow of different range in same worksheet
我需要执行一个自动化任务,将Linux中的表复制到excel,然后填充图形进行跟踪。 该任务几乎是完全自动化的,但我仍然需要在Excel中完成一些手动工作。
假设在Summary(1)工作表中,我有10种不同的模式,而Summary(2)工作表中有10种不同的模式。 每个星期,每种模式的数据都会从F:K列自动更新。 我已经使用VBA自动完成了这一部分。 但是,我需要为每种模式的col A:D手动编写:
由10种模式组成的Summary工作表从A1:S51(mode1),A52:S:101(mode2)等依次类推,直到最后一个A452:S501(模式10),所有模式的范围均为50个单元格。
我已经提示用户输入并存储在变量中,但是如何将值粘贴到每种模式的下一行。 例如,我已经从W1更新到W4,当用户提示输入WW5时,这些值将存储在每种模式的lastrow之后的下一行中。
这是模式1和2的外观示例。在模式2之后可能会遵循其余模式。
这是我当前的代码,当用户输入值时,它将粘贴到每种模式的第一行:
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.