以这种格式处理数据总是会努力,我不会reccomend添加任何拖放到你已经整理出你的数据的结构。
您不妨考虑另一种方法,它涉及到重组的数据,使其更易于使用...
如果你有一个表有以下栏目:
Teamname
Date (instead of Week Number and Day of week,)
Timeslot
JobNo
Address
Duration
Notes
Etc
然后每个行将代表一份工作,并具有何时发生的细节。
这就是数据库将存储关于正在发生的作业的信息的方式。
要更改工作时发生的情况,您只需更新该行的日期(和时间段)即可。
然后,您可以为每个使用Excel公式的团队创建另一个工作表,以查找本周发生的工作,并在每天的一列中显示它们 - 就像现在一样。这些表格仅用于显示目的。
如果你想换一个工作,那么你干脆去到工作表与长长的名单和更改日期的日期(你会使用像VLOOKUP等公式)
。
把你的数据放在这个长列表(即标准化)格式中会给你很多好处。例如,您可以使用数据透视表来总结数据的报告。
如果您将过滤器添加到长列表(SEE Ribbon >> Data> filters),您可以订购数据并减少列表以仅显示所选日期或选定团队等的作业...
这绝对是前进的方向。以这种方式重组数据后,您可以添加华丽的方式,通过在团队工作表中添加按钮等来更改工作时间。
PART2: 因此,在你的名单中,我会推荐excel CONCATENATE函数来添加一个额外的列,并在你的“日历”的其他地方显示你想要显示的文本。 #COLUMNA
我还会创建另一列,这是该行的唯一标识符。这可能是“HYMI格式的YYYMMDD格式日期&时隙”连接在一起。
在日历视图张说,你需要一个列有一排每个时隙显示一周的每一天:您需要
进入周期的开始日期要查看
为每一天设置一个列(用公式计算一天中的日期(即StartDate,StartDate + 1等))日期显示为列标题(可能使用显示日期名称的格式,但是存储日期)
每行都有一个具有timeperiod名称的列,每行都会输入一个值。该值与长列表的timeperiod列中使用的值相同。
当一个小区的用户双击就可以使用工作表事件
Worksheet_BeforeDoubleClick在VBA代码(BYVAL目标作为范围,取消为布尔)
,这个事件你需要:
- 看看单击单元格双是要到
- 回应,如果它是个寻找一个e来自相应的列和行标题的日期和时间段。
- 使用VBA激活长列表表单,并可能过滤为仅显示当天或者那一周发生的工作。然后选择(或突出显示?)双击的作业。
一旦您了解VBA,这很容易。
有很多要知道虽然我:
使用命名范围的日期确定的行和另一个与TIMEPERIOD
定义列使用命名范围来定义将要双击响应
使用范围功能VBA像交点与entirerow,entirecolumn范围属性,找到双点击的单元的日期和TIMEPERIOD细胞。
使用宏记录来编写将执行过滤器的初始代码。
将代码调整得很好,并根据需要查找日期和时间段。
为所有部门创建工作表?或者只需创建一个可选择部门的工作表。
你可以弄巧,并允许用户选择在日历中两个单元,并提供做这样的事情按钮: 交换作业
如果他们选择多个细胞,然后一键跳转列表并只显示在日历中选择的作业。
也许用户可以选择一项工作,按钮可以将作业移回或转发1,2,7,14天。
注意,您可以使用长列表记录等拍摄时的作业等细节,客户,开始时间,结束时间等......
查看关于透视表here这可能给你的一些想法你如何总结你的数据,给每天的工作,每天的工作总值,白天的工作总值等...
在使用Excel绑定自己的节点之前,你应该总是考虑使用Access ....有人知道他们在做什么,访问将在更短的时间内提供更多的东西,并可以做很好的事情,比如每个工作打印一页等等......
(你需要一个承包商?)
[email protected]
您好,欢迎计算器!正如你可能已经跳过了这个网站的介绍:SO不应该提供完整的解决方案,而是帮助你解决现有代码中的问题。这个想法是自己尝试一些东西(在这种情况下是VBA),如果遇到问题,可以问一个问题。有关发布问题的更多信息,您可能需要查看以下内容:stackoverflow.com/help/how-to-ask – aLearningLady
对不起,我一直在使用Google搜索大约一周,但无法找到解决方案和有人建议在这里问。请删除与规则不符的问题。感谢那个哈维, – theKingCat