Tag: function

空格检查前一页,并在Excel中插入行

(A795:O830)中有一段文字。 它通过分页符与其他页面分开,始终是打印(xls,pdf)文档的最后一页。 有时在第一页上有很多可用空间,并且(A795:O830)可能在那里安装。 现在它由分页符完成,不可更改。 在我的情况下,66行可以放在一个页面上。 是否有任何macros可以自动检查前一页是否有足够的空白空间(A795:O830)并将其插入? 这是我目前的macros: Sub Remove_color() Dim myRange As Range Dim cell As Range Set myRange = Range("A24:O785") For Each cell In myRange myRange.Interior.ColorIndex = 0 Next End Sub Sub Hide_empty_cells() Set rr = Range("A24:N832") For Each cell In rr cell.Select If cell.HasFormula = True And cell.Value = "" And cell.EntireRow.Hidden = […]

公式抛出无效的引用

我有一个刚刚超过1K行的工作表,我想获得第二张工作表中大约有600行的ID存在的列表。 我曾尝试使用VLOOKUP() , IF() , COUNTIF()函数,但每个给我一个错误 无效的参考。 此文件版本只能具有在256列(列IW或更高)或65536行的工作表大小内引用单元格的公式。 我需要做些什么才能比较这两个列表? VLookup()我用= =VLOOKUP(A3,[Book1]Sheet1!$A:$K,2,false) COUNIF()我用= =COUNTIF([Book1]Sheet1!$A:$A,D1)

Excel 2007自定义function区生成空白错误popup窗口

我有一个Excel 2007自定义function区加载项,在某些特定情况下会产生错误。 错误窗口是vbCriticaltypes的错误,带有红色的X,完全空白,只有一个“确定”button。 对于function区中的20个左右的命令,每个命令都会产生一个错误,导致用户多次点击以清除错误,之后恢复正常执行,不会对操作产生明显的影响。 从我的研究到目前为止,我已经确定这发生在Excel 2007中,当Excel不是最顶层的活动窗口时,由Excel在后台尝试某些function区操作。 在我的情况下,创build一个新的工作簿时,每次尝试将加载项的macros命令添加到quicktools菜单时,都不会发生。 我相信这是因为quicktools窗口在活动的Excel实例之上。 主题上的其他线程提示Ribbon.Invalidate,当它不能立即执行时调用,将产生错误。 此外,无论何时执行“getVisible”或“getEnabled”UI命令。 但是,我并不是在线程期间的任何地方调用Ribbon.Invalidate,只是在隔离和修改了键绑定之后,这两者都不会在工作簿创build时执行,或者将命令分配给quicktools。 另外,我不使用customUI.xml或VBA代码中任何地方的“getVisible”或“getEnabled”命令。 在这一点上,我感到茫然。 任何可以提供的帮助将非常感激。

自定义function区\从macros中select命令\列出死程序

很长一段时间的用户,这里第一次海报。 我开发了一个Excel加载项,主要用于个人使用。 我已经在function区中添加了button来触发macros。 我觉得我的插件比我刚开始的时候更加成熟了。 我希望与同事分享加载项。 这是我的问题; 我希望它清楚地传达需要链接到function区button的macros。 第一张图片显示了我打算拥有的,以“CustomAddIn_”前缀列出的程序。 第二张图显示了我无法弄清楚的内容…此处列出的程序不再存在于加载项中(已被注释掉或完全删除)。 我看到这些前缀是一个'。 任何想法发生了什么? 我想从“从\macrosselect命令”列表框中删除这些。 谢谢! 屏幕抓取 – 更新

启用受保护工作表的Excelfunction区上的清除筛选器

即使微软说这是不可能的: 不能清除在受保护的表中的自动filter ,我仍然认为这应该是可能的。 至less我希望。 我知道我可以逐个清除列中的filter,但是我希望用户能够在functionRibbon/Sort&Filter部分单击Clearfunction。 ( 目前已禁用/变灰 ) 互联网上有很多问题,但没有一个是真正有用的。 有没有可能? 我试着将Worksheet_Change事件定义为Unprotect Sheet,但这样做根本不合理,因为它会减慢我的工作表,并且无法find正确的条件来定义到Worksheet_Change 。 在这个例子中, 只要select$:$行,它就会运行。 所以我需要另一个明智的build议。

使用VBA展开/打开Excel Ribbon菜单

我在Excel中有一个自定义选项卡(2013)。 在选项卡上,有一个具有多个切换button的菜单。 从用户的angular度来看,菜单将保持打开状态,直到完成所有的select为止。 所以我正在寻找一种方法来保持菜单扩大后,点击任何切换button,closures菜单的唯一方法是点击远离菜单。 有一个想法,我有/寻找,有什么办法通过vba来扩大function区中的菜单。 所以我会在每个切换button的子程序末尾加上这个。

“结束function”行上的Excel VBA 450错误

我得到一个错误450“错误数量的参数或无效的属性分配”。 错误发生在函数的最后一行,即“End Function”的最后一行。 我没有看到任何失踪的“结束如果”,所以我不知道是什么原因导致: myDict = bpCreateDictionary("A", "B", 1, 10, "Sheet2", , "Ignore") 哪个引用这个函数: Function bpCreateDictionary(ByVal KeyColumn As String, ByVal ValueColumn As String, _ Optional ByVal RowBegin As Long, Optional RowEnd As Long, _ Optional ByVal DataWorksheet As String = "Sheet1", _ Optional ByVal DataWorkbook As String, _ Optional ByVal HandleDuplicates As String, _ Optional […]

Excel VBA“End Sub”行返回错误“代码执行…”

我正在使用Excel VBA中的插件/参考。 在加载项的顶部,我想把一个function,备份和保存加载项。 我编写了以下代码,但在“End Sub”行不断发生“代码执行已被中断”错误: Sub SaveEditsToAddIn() DateAndTime = Format(Now, "yyyymmdd-hhmmss") Dim xlobj As Object Set xlobj = CreateObject("Scripting.FileSystemObject") xlobj.CopyFile "c:\File.xlam", "c:\backup\File " & DateAndTime & ".xlam", True Set xlobj = Nothing ThisWorkbook.Save End Sub

Excel函数根据列A和列B中值的组合自动填充列C中的值

我已经在我的metasheet中填写了3列。 列A和列B中的值的组合使得select是唯一的。 我需要拉列/返回列C中的值列A和B中select的值。例如:在工作表1中,我有以下数据: country Month weather 1 USA Jan winter 2 USA Feb fall 3 USA May summer 4 China Jan summer 5 China Feb spring 6 China May fall 7 India Jan fall 8 India Feb summer 9 India May Rain 现在,对于随机行25,我有A25作为下拉列表的值selected =“印度”和B25作为下拉列表的值select=“Feb”,在这种情况下,我希望C25有一个下拉列表与其中的价值是“夏天”。 我试过这个公式: =VLOOKUP(B25, OFFSET(B$1:C$9, MATCH(A25,A$1:A$9,0)-1, 0, 2, 2), 2, 0) 但是这个给我一个错误:“列表源必须是一个分隔的列表,或对单个行或列的引用”。 我没有提到这个解决scheme。 […]

Excel Prorated SUMIF

我有一个有两列的工作表,一个是美元数额,另一个是美元数额到期(美元是收入stream)的月份(1到31日)。 所以,我用下面的公式来计算某一天或之前所有的收入stream: = SUMIF(C5:C14,“<=”&$ B $ 42,B5:B14) C栏是到期日B42是我inputdate比较的单元格,比如“15”表示“15日或之前到期的所有收入的总和”,这个想法是有一个所有收入的总和期。 B列是每个收入stream的美元数额。 我的问题是: 一些收入stream在他们旁边没有一天(C列中的那一天是空白的)。 这意味着,收入来源在某个date不是作为支票或大块进来的,它在整个月份大致均匀地stream入。 因此,如果收入来源的金额是1万美元,30天的月份是15天,那么我应该增加5000美元。 那会是这样的: = SUMIF(C5:C14,“”,???) 那么截止date是空白的,select???。 ??? 不只是数字,而是数字*(given_day / total_days_in_month)。 所以我认为我需要一个准确的总数是: = SUMIF(C5:C14,“<=”&$ B $ 42,B5:B14)+ SUMIF(C5:C14,“”,???) 但是我不确定怎么写。