Tag: excel 2010

不能在函数中将数据写入Excel 2007/2010中的单元格

我想通过VBA为单元格设置值。 我GOOGLE了,看到一些解决scheme: Sheets("SheetName").Range("A1").value = someValue Sheets("SheetName").Cells(1,1).value = someValue 有了这样的代码,我可以只读取单元格A1的数据,但是我不能为它设置一个新的值。 更新 设置单元格A1值的代码放在一个Function ,如下所示。 Function abb() Sheets("SheetName").Range("A1").value = 122333 abb = 'any thing' End Function 在B2单元格中,我设置=abb()并回车。 我得到#VALUE,但在A1没有发生。 把这个代码放在一个macros中,它可以工作。 我的问题是,如何让A1有一个函数内的值?

使用INDEX和MATCH查找两个条件

我正在尝试使用INDEX和MATCH来实现基本的查找。 我的布局是: 表1 NAME | SITE | date 工作表2 NAME | SITE | date 我希望工作表1中的“站点”列自动填充工作表2中的NAME和DATE匹配的站点。 我所试过的 =INDEX('Sheet2'!B:B,MATCH(A1,'Sheet2'!A:A,0)) 这将成功匹配NAME,但是如何将公式中的其他MATCH合并到NAME 和 DATE?

一个程序将返回一行中的最小值的单元格地址?

所以我有一个图表,看起来像这样。 假设左上angular的值1在单元格A1中: x= 1 2 3 4 5 6 7 8 4 3 2 1 2 3 4 5 9 8 7 6 7 8 9 10 8 7 6 5 4 3 2 1 Sum= 21 18 15 12 13 14 15 16 有从1到8的x值,以及通过使用它的方程式或其下面的东西得到的三列值。 总和是三个值的总和,低于它们对应的x值。 我试图找出那些将通过总和的行,find最小的值,然后将它的相应的x值分配给一个variables。 我还需要将该x值的左侧和右侧的值分配给其他variables。 对于这个特定的图表,12是最小的总和,所以我将分配variable1 = 4 ,因为那是该列的相应x值。 然后我的第二个variables叫做lowerbound ,它等于3,因为它在x = […]

当从TOleContainer提取文档的数据时,DoVerb(ovInplaceActivate)崩溃,出现各种错误消息

一个客户在使用OLE处理Office文档时,会遇到与我们的软件有些奇怪的行为。 当一些派生的TOleContainer类的实例尝试通过DoVerb(ovInPlaceActivate)调用激活OLE对象时,代码崩溃。 有各种错误消息,包括: (0x80030002) %1找不到。 (0x80030005) 访问被拒绝。 (0x800706BE) 远程过程调用失败。 看我的代码: function TfrmOleOffice.SaveToStream: TStream; var LOleContainerState: TObjectState; LModified: Boolean; begin Result := TMemoryStream.Create; if IsEmpty and OleOfficeAvailable then exit; if OleOfficeAvailable then begin LOleContainerStateBefore := FOleContainer.State; LModified := FOleContainer.Modified; // 'FOleContainer.Modified' could be changed by 'FOleContainer.Close' FOleContainer.Close; FValue.Position := 0; if LModified then // otherwise, take […]

Excel:固定button位置

在Excel工作表上需要一些帮助附加Excel / VBAbutton。 我需要它保持在屏幕上的相同位置,无论我如何滚动或缩放。 最好,我需要在屏幕的左下angular或右下angular。 我曾尝试添加一个button。 然后,我右键单击button。 点击格式控制 – >属性 – >select不移动或使用单元格大小。 我错过了什么使这不工作? 谢谢!

一个.xlsx多个链接的工作表如何分解成单独的工作表文件,以后如何重新组合?

一个非IT相关的类已经被分配了一个组项目,他们所做的工作将被存储在一个.xlsx文件中。 成员们决定协同编辑这个文件的最好方法是把它分成组成单,把每个* .xlsx表单上传到一个SVN仓库,并使用锁和一个.txt文件来组织表单/成员的责任。 该小组已经完成了所述文件与VB脚本分裂(礼貌这个美妙的网站),如下所示: Sub SaveSheets() Dim strPath As String Dim ws As Worksheet Application.ScreenUpdating = False strPath = ActiveWorkbook.Path & "\" For Each ws In ThisWorkbook.Sheets ws.Copy 'Use this line if you want to break any links: BreakLinks Workbooks(Workbooks.Count) Workbooks(Workbooks.Count).Close True, strPath & ws.Name & ".xlsx" Next Application.ScreenUpdating = True End Sub Sub BreakLinks(wb […]

从Excel打印PDF时,对象显示为黑色框

好。 Stackoverflow …我认为这将是一个坚韧的坚果破解即使你! 我使用Office 2010运行Windows 7。我devise了一个用户可以填写的用户表单。 用户表单由常规的工作表,公式和一些表单元素(不是active-x种类)组成。 所有的作品都很好,直到我尝试把它打印成PDF。 然后表单元素都显示为黑色框! 我正在使用Microsoft Office本机PDF打印机,并需要这样做(因为我有一些可以执行的代码)。 我search了networking,只发现两个线程( 这里和这里 )在论坛甚至讨论的话题。 这两个线程都没有有用的答案。 一个线程声称,这个问题是与Excel(我相信),它与SP2消失。 我有SP2安装,并没有照顾到这个问题。 下面是它的样子的截图: 有谁知道为什么发生这种情况,如何解决? 谢谢!

使用F#自动化Excel 2010

我一直在寻找一个常见问题,告诉我如何打开一个Excel工作簿/工作表,以及如何完成后保存文件。 我注意到,在大多数常见问题和所有我在F#上购买的书籍中,都展示了如何创build一个新的工作簿/工作表,但从未显示如何打开或保存它。 作为F#的新手,我会非常感激,如果有人能够给我一个答案或者可能是几个指针? 更新 至于为什么F#而不是C#或VB? 我很高兴地说,尽pipe作为一个新手(除了Forth,VBA和Excel 2003,2007和2010年和Visual Basic),我可以做到这一点在VB,VBA和C#,因为我已经退休的医疗因为有很多时间在我的手上,所以我喜欢不断地挑战自己,让自己的小灰色单元保持活跃,成为尝试新语言的吸盘。 F#现在是Visual Studio 2010的一个整体部分,所以我想 – 为什么不呢。 考虑一下 – 如果我们不愿意使用或至less尝试一种新的语言 – 我会一直在想,如果我可能更喜欢它的VBA,VB,C#…..,如果你从另一个angular度看待它如果没有人会使用它 – 为什么要创build它呢? 我想你可以说洞穴男人是否没有尝试过,并且把两根棍子揉在一起发火 – 我们现在在哪里,而且火柴会被发明出来? 虽然一个完整的答案是好的,但我更喜欢一些指标,以保持我的挑战。 最后但并非最不重要的 – 感谢您煞费苦心应对!

Workbooks.Open返回与Filename不同的文件

我有最奇怪的问题。 我有一天在笔记本电脑上写下了下面的代码,工作正常。 现在,我正在testing它在我的桌面上,它停止工作。 首先,这是我的代码 Dim oApp As Application Dim oWb As Workbook Set oApp = New Application oApp.Visible = True Set oWb = oApp.Workbooks.Open(Filename:="C:\myFile.xlsx", ReadOnly:=True) debug.print oWb.name 'returns "SOLVER.XLAM" ' "SOLVER.XLAM" is not "myFile.xlsx' debug.print oApp.Workbooks.Count 'returns 1 debug.print oApp.Workbooks(1).name 'returns "myFile.xlsx" 现在,我知道求解器是一个插件,并在创build它时被加载到新的应用程序中,但是它如何执行这个开关? 我仍然可以得到正确的文件,但我不想冒险的巧合,我的应用程序对象中只有一个文件(或第一个文件是我加载的) 附加信息 我打算在Excel实例中执行这个macros,我希望打开一个单独的Excel实例,然后在另一个实例中打开特定的工作簿( "C:\myFile.xlsx" )。 我遇到的关键问题是,当我打开另一个实例,然后添加工作簿,并将其设置为我的oWbvariables…不知何故,当我后来调用该oWbvariables它指的是不同于我已经设置它至。 'This is how it makes me […]

基于Excel版本的条件编译

我知道我可以在VBA中使用条件编译来区分64位和32位版本(使用#If VBA7 Then … )。 是否还有一个类似于Application.Version常量,以便在编译时区分Excel 2013/2010/2007 / …等等? 另外,是否有一个可用的现有编译器常量列表? 到目前为止,我发现VBA7和Win64 (例如从这篇文章) – 但还有其他的?