尝试命名图表时,出现“内存不足”错误。 我需要能够在以后的另一个子程序中参考这个图表。 任何帮助赞赏。 Sub CreateChart() ' Creates chart for the Quality sheet Dim sBusiness As String Dim charttype As String Dim shChart As Worksheet Dim num_iss As Integer Dim i As Integer Dim endrng As Integer Dim currentChart As Chart Set shChart = ThisWorkbook.Sheets("Chart Tool") sBusiness = ThisWorkbook.Worksheets("Chart Tool").Range("select_bu").value charttype = ThisWorkbook.Worksheets("Chart Tool").Range("select_chart").value num_iss = […]
我的工作表上有以下内容: 显示货币的单元格[在A1 ] 一系列单元格(两列,一个用于货币,另一个用于相应的佣金百分比)[定义为/命名为RANGE ,范围为工作表] 试图根据A1和RANGE确定计算的佣金百分比的单元格 然后我有一个名为Calculate的VBA函数,如下所示: Function Calculate(LookupValue As Double, LookupRange As Range) As Double Calculate = [VLOOKUP(LookupValue, LookupRange, 2)] End Function 确定百分比的单元格具有以下内容: =Calculate(A1, RANGE) 问题是单元刚刚返回#VALUE! … 任何想法我可能做错了什么? 我已经尝试了几个东西,如types提示Range() ,传递LookupRange.Value2 VLOOKUP等,没有一个工作。 我也尝试debugging,注意LookupRange实际上包含Value2所需的范围,这就是为什么我试图将它传递给函数。 注意:上面提到的function和布局只是一个虚拟的 – 实际的function是比较复杂的,因为它依赖于谈判的利率,每月的利润等。这就是为什么我使用VBA的原因。 我知道我在查找时做了一些错误,因为它是唯一在函数内部失败的东西 – 其他所有的东西都是对应的并且计算出来的。
这是一个单元格中包含的示例数据: 2014/08/19 12:59 John Doe 添加sample@hotmail.com 我需要在文本中提取名称。 我知道它总是放在date时间戳之后。 我的想法是find“:”的位置,并添加4,从而得到名字的第一个字母的位置: colonLoc = InStr(sampleData, ":") firstLetterLoc = colonLoc + 4 那我怎么才能得到名字和姓氏呢?
我正在处理一个问题,我需要确定我的程序执行的总时间。 第一行代码需要写入当前的“开始时间”,最后一行代码需要写入当前的“结束时间”。 然后我减去“开始时间” – “结束时间”=总时间。 我很困惑如何使用VBA中的FORMAT()函数将C2的值转换为秒? 还有其他的function比FORMAT更好吗? 基本上我很困惑Excel的date序列值和他们代表什么。 代码如下 编辑:感谢大家的回应。 下面的两个答案为我正在尝试做的工作。 sub ExecutionTime() Worksheets("Table").Range("A2").Value = Now() 'All my executable code goes here. It's a relatively small program compiling a table so it runs very quick. Worksheets("Table").Range("B2").Value = Now() Worksheets("Table").Range("C2").Value = Worksheets("Table").Range("A2").Value – Worksheets("Table").Range("B2").Value end Sub
在C / C ++中,当我有一堆函数(指针)时,我可以将它们存储在一个数组或向量中,并按照一定的顺序调用它们中的一些。 在VBA中可以做类似的事吗? 谢谢!
我在表格中有一个单元格,内容如下: 64123其中有一些空白空间之后的某种forms。我以为这是一个空白,所以在我的VBA代码,我已经尝试了多种方式获得这个空白空间的string,但既不application.trim也不replace工作。 With Cells(c.Row, 16) .NumberFormat = "General" v = Application.Trim(.Text) v = Replace(v, " ", "") Debug.Print v .Clear .NumberFormat = "General" .Value = Application.Trim(v) End With 最后肯定有一个空白的空间 – 我可以看到它,当我在Excel中突出显示单元格时, Application.Trim总是为我工作。 除了空白之外,还有什么可能呢? 如果它是一个制表符或回车,这些replace语法是什么?
我目前有代码允许我查看与表1和表2匹配的ID行。当两个ID匹配时,表2信息将粘贴到具有相同ID的Sheet 1行。 我的代码工作在less于1000行,当我testing它在一分钟内给出结果。 问题是,当我试图运行它1,000,000行时,它一直运行,超过20分钟,从此以后永远不会停止运行。 我希望任何人都可以帮助我修改代码,让我做一个循环,并复制粘贴信息从Sheet 2到Sheet 1的200,000行。 Sub Sample() Dim tracker As Worksheet Dim master As Worksheet Dim cell As Range Dim cellFound As Range Dim OutPut As Long Set tracker = Workbooks("test.xlsm").Sheets("Sheet1") Set master = Workbooks("test.xlsm").Sheets("Sheet2") Application.ScreenUpdating = False For Each cell In master.Range("A2:A200000") Set cellFound = tracker.Range("A5:A43000").Find(What:=cell.Value, LookIn:=xlValues, LookAt:=xlWhole) If Not cellFound Is […]
我有一个macros通过列(S),并删除范围内的所有单元格的数字。 我想添加一个可选的参数,所以我可以在告诉它在哪个列上运行的时候调用它。 这是我有: Sub GEN_USE_Remove_Numbers_from_Columns(Optional myColumns as String) 这个想法是我可以从另一个子调用它,像这样GEN_USE_…Columns("ABC") 但是,我不能从VB编辑器运行,也不能在macros窗口(当点击查看 – >macros)时看到这个macros。 为什么不? 为什么我必须调用它的参数(甚至GEN_USE_…Columns("") )我不能只是调用GEN_USE_…Columns()了。 我已经看到,你可以添加= Nothing到最后,设置一个默认值,如果没有给出。 我试过(),但它没有做任何事情。 我想我的问题是A)如何在macros窗口中看不到具有可选参数的macros? 和B)为什么我不能直接从VB编辑器调用macros的参数? 我必须实际创build一个子,然后我可以调用该子内的macros。 没有更多的只是突出一些文字,并打“播放”。 我知道这两个问题可能是相关的,所以任何有识之士将不胜感激! (PS:我知道我们应该发布代码,但我不认为这是相关的,当然,如果你想看,请告诉我,我会更新)。
我在Worksheet_Change事件的Excel / VBA中发现了一个问题。 我需要将Target.Dependents分配给Range,但是如果没有依赖项,则会引发错误。 我试过testingTarget.Dependents.Cells.Count,但没有奏效。 有任何想法吗? Private Sub Worksheet_Change(ByVal Target As Range) If Target.Cells.Count > 1 OR Target.Dependents.Cells.Count = 0 Then Exit Sub Dim TestRange As Range Set TestRange = Target.Dependents 我也试过“Target.Dependents是Nothing”。
我的要求是我有一个包含一些数据的Excel。 我想从Excel中select一些数据并打开PowerPoint文件 在PowerPoint中创build表格并填入数据 现在我已经成功地从excel中收集数据,通过Excel VBA代码打开一个PowerPoint文件。 从Excel打开PowerPoint的代码。 Set objPPT = CreateObject("Powerpoint.application") objPPT.Visible = True Dim file As String file = "C:\Heavyhitters_new.ppt" Set pptApp = CreateObject("PowerPoint.Application") Set pptPres = pptApp.Presentations.Open(file) 现在,我如何在Excel中创buildPowerPoint中的表格并填充数据。 及时的帮助将非常感激。 提前致谢,