Tag: vba

访问select最大date的条件查询

我正在处理一个如下所示的数据集: ZeroCurveID MarkRunID MarkAsOfDate 90-6589 6656 2/28/2012 90-6589 6656 2/28/2012 90-6589 6656 2/28/2012 14-8898 8898 8/12/2014 14-8898 8898 8/12/2014 14-8898 8898 8/12/2014 14-8898 8898 8/6/2014 14-8898 8898 8/6/2014 14-8898 8898 8/12/2014 14-8898 8898 8/12/2014 14-8898 8898 8/12/2014 14-8898 8898 8/12/2014 14-8898 8898 8/12/2014 对于给定的ZeroCurveID和MarkRunID,应该只有一个MarkAsofDate。 因此,对于ZeroCurveID = 14-8898和MarkRunID = 8898,MarkAsofDate必须等于2014年8月12日,其他值不正确。 在某些情况下,对于相同的MarkRunID和ZeroCurveID,我有两个MarkAsofDate值。 我想要创build一个查询来识别这些实例何时发生,并select较大的MarkAsofDate值作为正确的值。 我怎样才能devise一个查询或VBA子程序来做到这一点?

失去焦点后检查相交

我一直在试图检查用户是否失去了特定Range的单元格的焦点。 Option Explicit Private Sub Worksheet_SelectionChange(ByVal Target As Range) Static OldRange As Range Dim AmountCol As String * 1 Dim PayedCol As String * 1 Dim MyRange As Range If (Not OldRange Is Nothing) Then AmountCol = Chr(Asc(Range("B1").Text) + 1) PayedCol = Chr(Asc(Range("B1").Text) + 2) Set MyRange = Range(AmountCol & ":" & AmountCol) If Not […]

使用多个“For”和“if”语句加速VBAmacros

这个macros需要2分钟运行。 什么是优化macros的最佳方法? Sub Time_Color(z, k) Application.DisplayAlerts = False For Each cell In Sheet1.Range("C" & z & ":" & "LZ" & z) If cell.Value <> "x" Then If cell.Value < Sheet3.Range("D" & k) Then cell.Interior.ColorIndex = 37 cell.Offset(1, 0).Value = Sheet4.Range("D" & k).Value & "_" & Sheet4.Cells(k, 5).Value End If For j = 5 To 1000 […]

Excel中错误的字体属性

我正在用Excel中的C#读取几个单元格的属性,并将附加到Word的属性写入文本。 根据它们在Excel中的大小,它们在Word中应该是相同的大小。 然而,这些属性似乎“冻结”。 有没有人有一个线索可能是什么问题? 例; 我有三个单元格A1,A2和A3,字体大小分别为11,8,11。在Word中,三个文本的大小为11(对于Excel中的每个单元格,大小为11): docRange.Font.Size = (float)ws.Cells[row, column].Style.Font.Size; 这很奇怪,因为你应该期望大小11,8和11.但是,如果我在Excel中尝试以下操作: MsgBox ActiveSheet.Cells(row, column).Style.Font.Size 它也给每个细胞大小11。 这一定是11,8和11。 (我已经试过计算自动和.calculate(); )。 @Edit 13:13 22-12-2015如果我打开一个全新的Excel文件,在A1和A2上进行testing,给A1大小11和A2大小8.它在MsgBox ActiveSheet.Cells(2, 1).Style.Font.Size上给出11 MsgBox ActiveSheet.Cells(2, 1).Style.Font.Size和MsgBox ActiveWorkbook.Sheets("Blad1").Range("A2:A2").Style.Font.Size

Excel – 使用共享数据查找重复值,并确定首先“创build”哪一个值

所以我有一个包含3个不同类别数据的表格:Time,Value,ID。 将有多个值对应于每个ID,但是那些值也可能稍后被复制。 基本上每个ID是一个“文件夹”,值是文件。 我需要find在另一个“文件夹”中出现“文件”的所有实例。 最重要的是,我需要确定哪些文件先添加到它们各自的文件夹中。 这是一个例子: 时间 。 。 。 。 价值。 。 。 。 ID 一点 。 。 。 。 1。 。 。 。 。 。 。 。 一个 2:00 。 。 。 。 2。 。 。 。 。 。 。 。 一个 3:00 。 。 。 。 3。 。 。 。 。 。 […]

13型不匹配错误

Excel VBA收到types13不匹配错误。 此脚本检查两列,并在更改后locking列中的单元格,或者如果用户单击单元格并单击closures而不进行任何更改,则locking该单元格。 5号线显然是罪魁祸首。 任何帮助深表感谢。 Private Sub Worksheet_Change(ByVal Target As Range) Dim A As Range Set A = Union(Range("I:I"), Range("J:J")) If Intersect(Target, A) Is Nothing Then Exit Sub If Target.Value = "" Then Exit Sub ActiveSheet.Unprotect Password:="YourPassword" Target.Locked = True ActiveSheet.Protect Password:="YourPassword" End Sub

Excel VBA代码不能完全工作,除非删除了某些部分

我的问题是,当我写所有的代码,其中一个将不起作用。 它不会给出错误信息,但GenerateEmail子目录中不会生成电子邮件。 但是,如果我删除了一个While Wend代码,其他工作(我一个接一个地testing)。 简而言之,如果所有的Wend代码都存在,那么其中的一个将不起作用。 我不知道发生了什么事。 任何帮助表示赞赏。 我试过find类似的情况,但没有成功。 我的代码: Sub CaseCreation() Dim subjectTitleEABS As String Dim subjectTitleCCC As String Dim subjectTitleRR As String Dim subjectTitleTERM As String Dim rowCount As String rowCount = 2 While Sheets("Extended Abs").Range("B" & CStr(rowCount)).Value <> "" If Sheets("Extended Abs").Range("A" & CStr(rowCount)).Value = "" Then subjectTitleEABS = Sheets("Extended Abs").Range("K" & CStr(rowCount)).Value […]

VBA Workbook.closefunction:不能使此工作在所需的位置

我有这个代码: Sub test() Dim wb As String Dim wbb As Workbook wb = "C:\xyz.xlsx" Set wbb = Workbooks.Open(wb) MsgBox ("testing") wbb.Close End Sub 上面的工作就好了 。 工作簿按预期结束 但是,这个代码似乎不工作。 但对我来说,它看起来与 workbooks.close函数相同 。 有人可以请告知为什么这会引发错误“运行时错误'1004': 应用程序定义的或对象定义的错误 ” Sub filesTest(folder, dex) Dim wb As String Dim wbb As Workbook Dim dat Dim dat2 Dim dat3 Dim dat4 wb = "xyz.xlsm" […]

Excel VBA中的VLookup无法正常工作

Excel文件格式 我有主数据表的属性ID是唯一的单位。 我有另一个表添加与属性相关联的产品值。 如果单位基于属性ID进行匹配,则单元格以绿色突出显示,否则显示为红色。 为了达到上述目的,我写了一些基本的代码,但似乎没有工作。 vlookup正常工作,但使用vba它只是退出。 请参阅下面的图像例如和代码。 列a和b包含属性主数据,列d包含产品属性值。 例如。 对于产品p1,值“IN”对属性“A1”有效,但“m”无效。 此外,可以有多个单位,每个属性用逗号分隔。 需要帮助来解决问题。 码: Sub UnitCheck() Dim AttrIDrange As range, AttrIDcell As range Dim attrID Dim Lookup_Range As range Dim I, J As Variant Dim UNIT As Variant Set Lookup_Range = range("A2:B4") Set AttrIDrange = range("E1:G1") For Each AttrIDcell In AttrIDrange attrID = AttrIDcell.Value For I […]

Excel 2013删除部分:/xl/drawings/vmlDrawing1.vml

之后我在Excel 2013中做这件事 strSaveName = ThisWork.Path & "\" & strExt & ".xlsx" .SaveAs strSaveName, FileFormat:=51 Excel在打开此xlsx文件时出现以下错误:“Excel在'newFile.xlsx'中发现不可读的内容。是否要恢复此工作簿的内容?如果您信任此工作簿的源,请单击”是“。 一旦我点击是,我会收到以下通知:“Excel能够通过修复或删除不可读的内容来打开文件。删除零件:/xl/drawings/vmlDrawing1.vml零件。(绘graphics状)” 也是所有的coments被删除。 如果我保存在另一种格式 strSaveName = ThisWork.Path & "\" & strExt & ".xls" .SaveAs strSaveName, FileFormat:=56 在excel 2003中,不断的改变,而是警告不支持的公式 如何解决这个问题,并保存文件为xlsx?