首页 > 解决方案 > 根据用户输入在多个单元格中放置一个“X”

问题描述

我正在尝试创建一个时间表,用户可以输入工作天数,然后宏将从X特定单元格开始放置在适当数量的单元格中,并最终跳过某些单元格。

我可以让它X在指定范围内的单元格中放置一个,但不是用户定义的范围。

Sub WorkDays()

    Dim days As String

    days = InputBox(Prompt:="How Many Days Worked", Title:="Days Worked", Default:="Enter Number of Days Worked")

    Dim number As Range

End Sub 

我正在尝试自动化我们公司独特的时间表。

编辑:这是将 Xs 放入我希望它们放入的几个单元格中的代码。问题是我希望“days”变量成为 Xs 放入的单元格范围。

Sub WorkDays()

Dim days As String

days = InputBox(Prompt:="How Many Days Worked", Title:="Days Worked", Default:="Enter Number of Days Worked")
days = "X"
Range("D11:D15").Value = days

End Sub

这是工作表的屏幕截图。

在 D11 到 D15 行中添加了 X'x 的时间表

标签: excelvba

解决方案


在你的第二个子中,第二个days =意味着第一个是无用的,因为它"X"取代days了之前的任何值。

尝试:

Dim days As Long

days = InputBox(Prompt:="How Many Days Worked", Title:="Days Worked", Default:="Enter Number of Days Worked")

Range("D11:D" & 10 + days).Value = "X"

注意:问题看起来比描述的要复杂。你怎么知道有人在周一到周五工作而不是在周三到周日工作(都是五天)。您可能需要多个输入框来确定某人一周的开始日期。


推荐阅读