Tag: 模块

无法selectcombobox

我有一个名为“工具”的combobox已被添加为Excel 2010工作表的窗体控件。 我还有一个标题为“AdjustmentsAmount”的模块,它是通过点击一个表单button来运行下面的方法。 我已经尝试了几种访问表单控件的方法,而且都没有工作,下面也列出了。 任何人都可以阐明这个问题吗? 码 'Clears all run specifications Sub clearRunSpecs_click() Dim resp As String resp = MsgBox("This will clear all run specifications. Are you sure you want to continue?", vbYesNo) If (resp = vbYes) Then Worksheets("AdjustmentsAmount").Unprotect "pass" Range("D3").Clear Range("D3").Interior.Color = RGB(235, 241, 222) Range("D3").BorderAround LineStyle:=XlLineStyle.xlContinuous, Weight:=xlMedium, ColorIndex:=xlColorIndexAutomatic, Color:=RGB(0, 0, 0) Range("D3").Locked = False […]

Perl – Spreadsheet :: WriteExcel函数的解释

我想使用function“autofit_columns”在这里find: CPAN 这是我的程序到目前为止(我跳过数据库连接和查询部分) my $workbook = Spreadsheet::WriteExcel->new("TEST.xls"); my $bold = $workbook->add_format(); $bold->set_bold(); my $number = $workbook->add_format(); $number->set_num_format(0x01); $worksheet = $workbook->add_worksheet('Sheet1'); my @headings = ('Blabla…'); foreach $i (@headings){ $worksheet->write(0, $col++, $i, $bold); }; $col=0; $lrow=1; while (@row = $sth->fetchrow_array()) { $worksheet->write($lrow,$col,\@row); $lrow++; }; $sth->finish; $dbh->disconnect; autofit_columns($worksheet); $workbook->close(); sub autofit_columns { my $worksheet = shift; my $col […]

VBA程序访问级别

我想提出一个快速的问题,并在VBA非常基础… 我在网上find了关于VBA程序的很好的解释: 像variables访问一样,访问过程可以由访问级别来控制。 程序可以是私人的或公共的。 要指定过程的访问级别,请在其前面使用Private或Public关键字。 接下来是… 应用于全局variables的规则是相同的: 私有:如果程序是私有的,则可以由同一模块的其他程序调用。 外部模块的程序不能访问这样的程序。 此外,当一个过程是私人的,它的名字不出现在macros对话框中 公开:创build为公共的程序可以通过同一模块的程序和其他模块的程序来调用。 此外,如果某个过程是以公共方式创build的,则当您访问“macros”对话框时,会出现其名称,您可以从此处运行它 它的伟大,晶莹剔透! 我唯一想知道的是没有Public或Private函数的过程的访问级别是什么 ? 小问题 另外如果我们有一个Public关键字可以通过其他工作簿的模块调用该过程? 谢谢你看到我的问题

Excel,编译VBAProject – 更改模块编译的顺序

让我们假设我们在Excel 2007中的Visual Basic编辑器中。我们创build一个名为modGlass模块: Sub VolatileGlass() Dim Glass As shiny_surface End Sub 然后我们创build第二个模块,名为modMetal : Sub durableMetal() Dim metal As metal_compound End Sub 这两个模块中的子程序包含错误: "User-defined type not defined." 当我使用Debug:Compile VBAProject菜单项编译项目时, modGlass模块始终首先编译。 如果我: 双击modMetal模块并编译(it?)或 将modMetal重命名为amodMetal (以便金属模块现在位于项目的模块树层次结构中) 仍然, modGlass模块首先被编译。 问题是:如果我在VBE中有一个包含多个模块的项目,有没有一种方法可以指定哪些模块被编译的顺序? 我不太需要这个function,但是我只是好奇如果有一些快速的方法来做到这一点。 我正在使用Excel 2007。

如何在我想给别人的perl脚本中使用CPAN模块?

我正在编写一个Perl脚本,它将数据写入Excel文件。 我正在使用Excel::Writer::XLSX来执行此操作。 我希望编写脚本,然后把它交给我的团队的其他成员,这样我们就可以在需要的时候使用它来编译数据。 我有几个关于这个问题: 我的同事是否需要安装该模块才能使脚本正常工作? 如果不是的话,我怎样用脚本包装这个模块才能给它们? 有没有更好的方式来做到这一点,使用我select的模块?

在Excel中引用错误的行的button

我有这块代码,它可以帮助一个button识别它是哪一行。但是,当我隐藏上面的行,button引用该隐藏行。 例如:如果button位于第20行,并且隐藏第19行,则单击该button将返回第19行。如果我隐藏了第19行和第18行,则该button将返回第18行。 这真的很奇怪。 这是我用来创buildbutton的块: Sub AddButtons() Dim button As button Application.ScreenUpdating = False Dim st As Range Dim sauce As Integer For sauce = 10 To Range("F" & Rows.Count).End(xlUp).Row Step 1 Set st = ActiveSheet.Range(Cells(sauce, 11), Cells(sauce, 11)) Set button = ActiveSheet.Buttons.Add(st.Left, st.Top, st.Width, st.Height) With button .OnAction = "GoToIssue.GoToIssue" .Caption = "Go To Source" […]

如何将Excel VBA中的全局variables声明为在工作簿中可见

我有一个关于全球范围的问题,并把这个问题抽象成一个简单的例子: 在Excel工作簿中:在Sheet1中,我有两个(2)button。 第一个被标记为SetMe ,并链接到Sheet1模块中的子例程: Sheet1代码: Option Explicit Sub setMe() Global1 = "Hello" End Sub 第二个标签为ShowMe ,并链接到ThisWorkbook模块中的子例程: ThisWorkbook代码: Option Explicit Public Global1 As String Debug.Print("Hello") Sub showMe() Debug.Print (Global1) End Sub 点击SetMe会产生一个编译器error: variable not defined 。 当我创build一个单独的模块,并将Global1的声明移入它时,一切正常。 所以我的问题是:我读过的一切都表明,在模块的顶部声明的全局variables,任何代码之外的variables应该对项目中的所有模块都可见。 显然情况并非如此。 除非我对Module的理解不正确。 对象Sheet1 , Sheet2 , ThisWorkbook ,…随工作簿一起提供:是不是可以在全局范围声明variables的模块? 或者是唯一可以声明一个全局的地方,在一个单独的Moduletypes模块中 。