2015-08-03 107 views
1

目前我们使用一个带有4个选项卡的excel电子表格(作为每个团队的选项卡),每个选项卡是当周的计划员/日记,每天有4个“插槽”英寸 人们将每项工作的信息输入当天的4个插槽之一。每个插槽包含不同单元格中的信息;作业号码,地址,持续时间,备注等...工作/日程安排/团队规划

此方法的问题/耗时方面是当作业必须在团队间移动或移动到不同的日子时,它涉及大量的复制,粘贴并删除。

我想要实现的是某种形式的拖放界面(类似于Outlook中的日历工作方式),其中使用电子表格的人可以在表单中输入作业的详细信息,然后拥有拖放一个“瓦片”以便能够拖入其中一个“插槽” 这些插槽中包含的数据需要能够生成一份报告,该报告是该周计划的所有作业的线性列表

我无法弄清楚我应该用什么方法来创建它,看起来它超出了我能找到的Excel的范围,也超出了Access的范围,所以我怀疑它会涉及某种形式的编程。我对VBA有基本的了解,但就是这样。

任何人都可以提出任何建议。

感谢

+0

您好,欢迎计算器!正如你可能已经跳过了这个网站的介绍:SO不应该提供完整的解决方案,而是帮助你解决现有代码中的问题。这个想法是自己尝试一些东西(在这种情况下是VBA),如果遇到问题,可以问一个问题。有关发布问题的更多信息,您可能需要查看以下内容:stackoverflow.com/help/how-to-ask – aLearningLady

+0

对不起,我一直在使用Google搜索大约一周,但无法找到解决方案和有人建议在这里问。请删除与规则不符的问题。感谢那个哈维, – theKingCat

回答

1

以这种格式处理数据总是会努力,我不会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格式日期&时隙”连接在一起。

在日历视图张说,你需要一个列有一排每个时隙显示一周的每一天:您需要

  1. 进入周期的开始日期要查看

  2. 为每一天设置一个列(用公式计算一天中的日期(即StartDate,StartDate + 1等))日期显示为列标题(可能使用显示日期名称的格式,但是存储日期)

  3. 每行都有一个具有timeperiod名称的列,每行都会输入一个值。该值与长列表的timeperiod列中使用的值相同。

  4. 当一个小区的用户双击就可以使用工作表事件

Worksheet_BeforeDoubleClick在VBA代码(BYVAL目标作为范围,取消为布尔)

,这个事件你需要:

  1. 看看单击单元格双是要到
  2. 回应,如果它是个寻找一个e来自相应的列和行标题的日期和时间段。
  3. 使用VBA激活长列表表单,并可能过滤为仅显示当天或者那一周发生的工作。然后选择(或突出显示?)双击的作业。

一旦您了解VBA,这很容易。

有很多要知道虽然我:

  1. 使用命名范围的日期确定的行和另一个与TIMEPERIOD

  2. 定义列使用命名范围来定义将要双击响应

  3. 使用范围功能VBA像交点与entirerow,entirecolumn范围属性,找到双点击的单元的日期和TIMEPERIOD细胞。

  4. 使用宏记录来编写将执行过滤器的初始代码。

  5. 将代码调整得很好,并根据需要查找日期和时间段。

  6. 为所有部门创建工作表?或者只需创建一个可选择部门的工作表。

你可以弄巧,并允许用户选择在日历中两个单元,并提供做这样的事情按钮: 交换作业

如果他们选择多个细胞,然后一键跳转列表并只显示在日历中选择的作业。

也许用户可以选择一项工作,按钮可以将作业移回或转发1,2,7,14天。

注意,您可以使用长列表记录等拍摄时的作业等细节,客户,开始时间,结束时间等......

查看关于透视表here这可能给你的一些想法你如何总结你的数据,给每天的工作,每天的工作总值,白天的工作总值等...

在使用Excel绑定自己的节点之前,你应该总是考虑使用Access ....有人知道他们在做什么,访问将在更短的时间内提供更多的东西,并可以做很好的事情,比如每个工作打印一页等等......

(你需要一个承包商?)

[email protected]

+0

。我会研究一下我们这些计划工作的人的方式。 – theKingCat

+0

好吧我现在已经看过将格式更改为规范化列表类型格式,但我被告知我们仍然需要在“日记”类型布局中显示数据类似于约会如何在展望日历上显示为“瓷砖/盒子”。现在我可以使用vlookups做到这一点,但是我有什么问题可以通过任何方式来“双击”每个图块,以便它将您带到规范化列表中的特定作业?谢谢 – theKingCat

+0

@theking查看我答案的第2部分。 – HarveyFrench