Excel作为字段

时间:2017-05-15 15:09:55

标签: excel excel-vba vba

我所承担的新角色是一家非常依赖excel的公司,并且拥有数百名使用电子表格作为唯一通信方式的现场工程师。执行检查,结果记录在宏观燃料模板上,然后通过电子邮件发送到总部(通常作为pdf - 模板可以导出为此格式)。 它们的内容被手动输入另一个电子表格,作为一种主要概述。这个“主要概述”是通过电子邮件发送给几个区域经理,他们填写“行动”字段并通过电子邮件将“主要概述”发送回总部。 当然,到目前为止,有一些“主要概述”的副本正在飞行,需要将它们合并到一个文件中并在必要时进行删除。这是在从pdf输入数据开始时的手动步骤(在导出和发送电子邮件之前最初是在excel中)。 这是一个很大的遗憾,因为模板确实有一些聪明的东西,最终不会从数据输入阶段捕获。 我的任务是简化这个艰苦而重复的过程,我正在寻找一些灵感,或者从那些从事类似活动的企业制定一些既定策略。 我不是软件开发人员(我认为应该开发某种类型的应用程序),而且我认为我(现在)因为excel 2010和elbow油脂而陷入困境。 有没有人有闪光的光彩,或者我可以研究的方法?或者,我们是否真实地考虑开发更符合目的的东西? 在此先感谢您的帮助 - 非常感谢。

1 个答案:

答案 0 :(得分:0)

为什么选择PDf格式?他们可以将电子表格作为Excel附件发送电子邮件,然后编写脚本来传输信息吗?

每天早上我都要做类似的报道。此处的其他人手动输入信息。我使用一个基本脚本,在两个不同的电子表格之间执行基本的复制和粘贴例程。我确定一些"真实"程序员可以给你更好的东西,但目前以下脚本适合我。 希望这会有所帮助。

Sub ImportAll()
'
' ImportAll Macro
' Import data from other worksheets
'
 Dim myPath2
 myPath2 = Workbooks("driver_daily_sced_load_count_kilgore.xlsm").Sheets("MAIN").Range("S12").Value  

Range("AA1").Value = 1
Range("AB1").Value = 1
'   Get rejected loads from the CSV file
 Windows("driver_daily_sced_load_count_kilgore.xlsm").Activate
  Sheets("CSV").Select
   Range("J12:J15").Select
    Selection.Copy
'   Paste rejects in the current Load Count report
  Windows(myPath2).Activate
   Range("B29").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,         SkipBlanks:=False, Transpose:=False
'   Get Load data from the CSV report
  Windows("driver_daily_sced_load_count_kilgore.xlsm").Activate
    Sheets("CSV").Select
      Range("B12:H15").Select
       Application.CutCopyMode = False
        Selection.Copy
'   Paste load data in the current Load count report
   Windows(myPath2).Activate
    Range("B10").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False
'   Get drivers data from from daily count
  Windows("driver_daily_sced_load_count_kilgore.xlsm").Activate
   Sheets("MAIN").Select
    Range("AY23:BC26").Select
     Application.CutCopyMode = False
      Selection.Copy
'   Paste driver data in the current Load Count report
  Windows(myPath2).Activate
   Range("P29").Select
   Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,   SkipBlanks:=False, Transpose:=False
'   Get OUT OF TOWN drivers data from from daily count
  Windows("driver_daily_sced_load_count_kilgore.xlsm").Activate
   Sheets("MAIN").Select
    Range("BG23:BG26").Select
     Application.CutCopyMode = False
      Selection.Copy
'   Paste driver data in the current Load Count report
  Windows(myPath2).Activate
   Range("W29").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False

'Range("W31").Value = 2 'this is used on occasional basis

'Get Morning Report Data (NOT LOAD COUNT)
   Range("B21:W21").Select
    Application.CutCopyMode = False
     Selection.Copy
 Windows("driver_daily_sced_load_count_kilgore.xlsm").Activate
  Sheets("MAIN").Select
   Range("R18").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False

Windows(myPath2).Activate
Application.CutCopyMode = False
Range("B24:Z24").Select

End Sub