2013-03-23 30 views
-1

我收到编译错误失败。我试图简化这个子例程中的一些东西,因为我有很多设置,我想从我的Excel表格中进行控制,他们需要很多调用,并且正在寻找一种更有效的方式来编写它们。将表单存储为变量时编译出错

我试图分配工作簿和表变量,然后使用变量为表我需要从拉来选择的单元格区域不过,我需要首先

Build.Range("B:B").Column.Select.AutoFit 

是给我的无力编译错误“方法或数据成员找不到”

我打电话给3个不同的子程序,所有包含在相同的模块,如果有什么关系的东西,并可以张贴这些如果需要,但基本上他们只是创建文件和位置的东西基于该子程序提供的设置幻灯片

0再次
Sub BuildTemplate() 
Dim vNewPrimaryTemplatePath As String 
Dim vDPI As Integer 
Dim WB As Workbook 
Dim Settings As Worksheet 
Dim Build As Sheets 
Dim Entry As Sheets 

'Set Global Variables 
Set WB = Workbooks("tool.xlsm")    'Set this to the name of the excel file 
Set Settings = WB.Sheets("SETTINGS")  'Set this to the name of the settings tab 
Set Build = WB.Sheets("BUILD")    'Set this to the name of the build tab 
Set Entry = WB.Sheets("ENTRY")    'Set this to the name of the entry tab 

    vDPI = Settings.Cells(2, "B").Value 

'Adjust column sizes 
    Build.Range("B:B").Column.Select.AutoFit 
    Build.Range("D:D").Column.Select.AutoFit 
    Build.Range("F:F").Column.Select.AutoFit 
    Build.Range("H:H").Column.Select.AutoFit 

'Create Template Files 
MoveFiles 
'Open newly created Template File 
Dim PPT As PowerPoint.Application 
Set PPT = New PowerPoint.Application 
    PPT.Visible = True 
    PPT.Presentations.Open Filename:=vNewPrimaryTemplatePath 
'Add Title Block 
Call AddShape(False, "BUILD", Settings.Range("E2"), Settings.Range("E3"), Settings.Range("E4"), Settings.Range("E5"), Settings.Range("E6")) 

'Add Delivery Block 
Call AddShape(False, "BUILD", Settings.Range("E9"), Settings.Range("E10"), Settings.Range("E11"), Settings.Range("E12"), Settings.Range("E13")) 

'Add Address Block 
Call AddShape(False, "BUILD", Settings.Range("E16"), Settings.Range("E17"), Settings.Range("E18"), Settings.Range("E19"), Settings.Range("E20")) 

'Add Items 
Call AddShape(False, "BUILD", Settings.Range("H2"), Settings.Range("H12"), Settings.Range("H10"), Settings.Range("H16"), Settings.Range("H17")) 
Call AddShape(False, "BUILD", Settings.Range("H3"), Settings.Range("H13"), Settings.Range("H10"), Settings.Range("H16"), Settings.Range("H17")) 
Call AddShape(False, "BUILD", Settings.Range("H4"), Settings.Range("H14"), Settings.Range("H10"), Settings.Range("H16"), Settings.Range("H17")) 
Call AddShape(False, "BUILD", Settings.Range("H5"), Settings.Range("H15"), Settings.Range("H10"), Settings.Range("H16"), Settings.Range("H17")) 
Call AddShape(False, "BUILD", Settings.Range("H6"), Settings.Range("H12"), Settings.Range("H11"), Settings.Range("H16"), Settings.Range("H17")) 
Call AddShape(False, "BUILD", Settings.Range("H7"), Settings.Range("H13"), Settings.Range("H11"), Settings.Range("H16"), Settings.Range("H17")) 
Call AddShape(False, "BUILD", Settings.Range("H8"), Settings.Range("H14"), Settings.Range("H11"), Settings.Range("H16"), Settings.Range("H17")) 
Call AddShape(False, "BUILD", Settings.Range("H9"), Settings.Range("H15"), Settings.Range("H11"), Settings.Range("H16"), Settings.Range("H17")) 

'Add Summaries 
    AddSummary 

'Save & Close 
    ActivePresentation.SaveAs Filename:=vNewPrimaryTemplatePath, FileFormat:=ppSaveAsDefault 
    ActivePresentation.Close 

End Sub 

感谢您的任何援助

回答

3

你不需要选择并且可以简化:

Build.Columns(2).AutoFit 

但在第二个观点,你有你的misdefined变量构建和条目,他们应该是Worksheet对象而不是Sheets集合。

+0

嗯好的,但它仍然是stil给我同样的错误,即使在重构,如你所建议的。它似乎源于工作簿和表单变量的设置,因为错误只是在重写所有使用它们之后才引入的。 – midaym 2013-03-23 11:29:58

+0

编辑答案。对不起,我第一次没有发现它。 – grahamj42 2013-03-23 11:38:53

+0

真棒猜想我需要一些睡眠它总是小东西​​thks – midaym 2013-03-23 12:57:05