我需要执行一个自动化任务,将linux中的表复制到excel,然后填充图形以进行跟踪。该任务几乎完全自动化,但我仍然需要在Excel中执行一些手动作业。
据推测,在SUMMARY(1)工作表中,我有10种不同的模式和SUMMARY(2)工作表,有10种不同的模式。每周,每种模式的数据将自动从col F:K更新。我已经使用VBA自动完成了该部分。但是,我需要手动编写每个模式的col A:D,其中:
由10个模式组成的概要工作表来自A1:S51(模式1),A52:S:101(模式2),依此类推,直到最后一个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
答案 0 :(得分:0)
这是一个可以解决问题的代码。在运行代码之前,如果存在少于2行数据的任何模式,则此代码将无法正常工作。在这种情况下,您需要根据您的处理方式对其进行修改。
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