【问题标题】:How to generate accumulated inventory plot based on week number in Excel vba如何在 Excel vba 中根​​据周数生成累积库存图
【发布时间】:2019-06-16 19:15:09
【问题描述】:

我想使用 Excel VBA 2016 绘制自动累积库存图。

我有“20XXYY”格式的不同年份的库存数据。这里“XX”表示年份,“YY”表示一年中的周数(1 到 52)。我将有类似于图 1 的数据。然后我想将其排序为图 2。最后绘制图为图 3。但是,我想使用 VBA 自动获得它。

我的问题是,如何为绘图自动创建连续的 YearWeek 列?

我在“累计库存”列中使用了“=SUM($Y$2:Y2)”^^ 公式。如果我能得到任何线索,我将不胜感激。

【问题讨论】:

  • 您的意思是希望图表在您向数据中添加行时更新?如果是这样,您不需要 VBA。只需创建一个 excel 表并将表名作为图表源。它会在您添加值时更新
  • @urdearboy 我的问题是如何自动生成 201948、201949、201950、201951、201952、202001、202002 而不是 201948、201949、202001、202002 cloumn?因为我必须生成累积库存图。请检查第三张图片。
  • 您想自动生成 YearWeek 列中的数字,以便当最后两位数达到 52 时年份会增加?
  • =YEAR(A1)&TEXT(WEEKNUM(A1),"00")
  • @Michal Rosa 和 user3099345,例如,如果我有 201948 和 202011,那么我想通过 VBA 自动创建 16 个连续的单元格值,例如201948、201949、201950、201951、201952、202001、202002……202011。谢谢。

标签: excel vba plot inventory-management


【解决方案1】:

'这就是答案。我已经弄清楚了。谢谢你的支持。

Sub consecutiveNumber()

Dim wsFrom As Worksheet
Dim Com As String
Dim lLastNumber,FirstNumber, l, i As Long


'change to names of sheets you are coptying from and to

Set wsFrom = ThisWorkbook.Sheets("Sheet1")


'Get the value in the last and first used text box of column A

lLastNumber = wsFrom.Range("A" & Rows.Count).End(xlUp).Value
FirstNumber = wsFrom.Range("A1").Value
'clear column B

wsFrom.Range("B:B").Clear

'Initializing the cell index value
i = 1
'fill column B on sheet 1 with first to last number on column A

 For l = FirstNumber To lLastNumber

'Converting number to string
Com = Right(CStr(l), 2)

If CInt(Com) >= 53 Then
l = l + 48

    wsFrom.Range("M" & i) = l
    i = i + 1
 Else

    wsFrom.Range("M" & i) = l
    i = i + 1

  End If


Next

End Sub

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-03
    • 2016-07-05
    相关资源
    最近更新 更多