Tag: excel

发现date的差异。 但是,如果一个date字段是空的使用Excel的第三个选项

我正在处理Excel中的电子表格,其中包含开始date,结束date和询问date字段。 我需要find从开始date到结束date所花费的时间。 但是有时候结束数据是空的,所以我们想使用第三个字段“询问数据字段” 我知道唯一的解决scheme,因为我很生疏与Excel正在使用 DATEDIF(start_field, end_field, d) 然而,这只是拉两个领域,并没有考虑到第三个选项,如果end_field是空的)。 有任何想法吗? 希望这可以帮助其他人在未来以及如果find解决scheme!

是否有统一的ExcelExtractor类和xls和xlsx文件的工厂?

是否有一个共同的类和ExcelExtractor接口的实现,统一处理来自xls和xlsx源文本的提取? 也许,在ss包的东西。 我正在寻找一些能够让我做类似的事情,但是通过从工厂获得正确的实现,基于文件types。 现在,我不得不明确地使用xls文件的org.apache.poi.xssf.extractor.XSSFExcelExtractor和xlsx的org.apache.poi.xssf.extractor.XSSFExcelExtractor 。 例如,对于xls的显式方法: InputStream inp = new FileInputStream(path); HSSFWorkbook wb = new HSSFWorkbook(new POIFSFileSystem(inp)); ExcelExtractor extractor = new ExcelExtractor(wb); extractor.setFormulasNotResults(true); extractor.setIncludeSheetNames(false); String text = extractor.getText(); 我可以实现我自己的工厂,但在此之前,我想问问是否有一种处理两种格式的通用方法(这是ss包的用途)。

将VBA复制到Word的Excel范围如图所示

大家好我对VBA很新,我正在努力创build一个macros。 我想复制作为数字的粘贴到Word文件倍数范围从Excel。 这是我想到的代码: Sub imagem1() Dim objWord, objDoc As Object ActiveWindow.View = xlNormalView Worksheets(2).Range("A1:O47").Select Selection.CopyPicture Appearance:=xlScreen, Format:=xlPicture Set objWord = CreateObject("Word.Application") Set objDoc = objWord.Documents.Add objWord.Visible = True objWord.Selection.Paste objWord.Selection.TypeParagraph ActiveWindow.View = xlPageBreakPreview End Sub Sub imagem2() Dim objWord, objDoc As Object ActiveWindow.View = xlNormalView Worksheets(2).Range("U1:AI47").Select Selection.CopyPicture Appearance:=xlScreen, Format:=xlPicture Set objWord = CreateObject("Word.Application") Set objDoc […]

请参阅引用应用程序的variables

我正在尝试将单元格的值放在左列(列A)中的Msgbox中。 这个值需要被挑选出来,这取决于B列中的哪个值是最低的,并且应该被重用,并且行长度是变化的(有时候是200行,有时候是230行等) 到目前为止,我写道: Sub Flow() 'Check lowest value Dim lowestValue As String lowestValue = Application.WorksheetFunction.Min(Sheets("ImportData").Range("B3:B290")) MsgBox "Lowest Flow" & vbNewLine & _ (lowestValue) & vbNewLine & _ "at " & (lowestValue.Offset(0, -1)) End Sub 很明显, lowestValue.Offset(0, -1))不起作用,但基本上这就是我想要实现的:find最低值,然后在左边看一列,并在单元格中显示该值。

代码重复一个macros

我需要在具有390行的源电子表格中为给定范围重复一个名为“DTest”的macros。 “DTest”macros创build一个新的Excel文件并转置粘贴范围并将文件名保存在给定path的单元格“B2”中的值。 Sub RepeatDTest() Range("1:1,2:2").Select Selection.Copy DTest Range("1:1,3:3").Select Selection.Copy DTest Range("1:1,4:4").Select Selection.Copy DTest End Sub 我的范围包括行1作为标题,行2到390作为新电子表格的行2中的内容。 如何编写范围(“1:1,2:2”),范围(“1:1,3:3”)…….范围(“1:1,390:390”)的代码?

“列比较”条件格式

我怎样才能比较两个5,000 +logging列和颜色格式呢? 例如, If value in cell Ax = Bx then cell Cx color = green 。 我可以做到这一行,但手动做5000+logging似乎是疯狂的,我知道还有另一种方式,但我不知道如何! 如果我使用格式画家,它复制该单元格的格式,例如($ A1 = $ B1),我需要$ A4599 = $ B4599等等。

在Excel中迭代通过行

我试图从excel电子表格的列A中的单元格中获取所有数字,但我只是得到我的标题行返回。 我究竟做错了什么? static void Main(string[] args) { var excel = new Microsoft.Office.Interop.Excel.Application(); Workbook workbook = excel.Workbooks.Open(@"C:\Documents\ANIs.xlsx"); Worksheet worksheet = workbook.Worksheets[1]; Range a1 = worksheet.get_Range("$A1"); object rawValue = a1.Value; string Text = a1.Text; foreach (Range item in a1.Cells) { Console.WriteLine("{1}", rawValue, Text); } Console.Read(); }

我一直从这个等式得到一个错误

= IF(A5 =< 8, B5 * .07, IF(A5 > 8 AND A5 =< 15, B5 * .05, IF(A5 > 15 AND A5 < 20, B5 * .03, 00.00))) 我不完全确定为什么我收到和错误。 语法看起来是正确的,不是吗?

在Excel中突出显示单词

所以我想我在这里find了我的问题的答案…但是当我复制并粘贴VBA代码时,在“With range.Find”行中出现“Compile error:Argument not optional”错误。 Sub HighlightWords2() Dim range As range Dim i As Long Dim TargetList TargetList = Array("words") 'put list of terms to find here For i = 0 To UBound(TargetList) Set range = ActiveDocument.range With range.Find .Text = TargetList(i) .Format = True .MatchCase = True .MatchWholeWord = False .MatchWildcards = False .MatchSoundsLike […]

为什么预约不会偶尔删除

我有一个Excel工作簿中的VBAmacros,用户日历中用特殊标记创buildOutlook约会。 在添加新的约会之前,它首先删除在物品主体中具有该标签的所有约会。 不幸的是,Outlook.AppointmentItem.Delete函数有时不起作用。 当我打开我的Outlook日历时,我可以看到该项目被删除很短的时间,并立即重新出现。 这只是偶尔发生。 我可以通过使用特定标记两次复制AppointmentItem来强制执行此行为。 然后,只有两个约会将被删除,一个保留在日历中。 任何人都可以解释什么可能导致此行为? Public Sub DeleteAppointment(Starttime As Date, Endtime As Date) Dim myStart As Date Dim myEnd As Date Dim olApp As Outlook.Application Dim oCalendar As Outlook.Folder Dim oItems As Outlook.Items Dim oItemsInDateRange As Outlook.Items Dim oAppt As Outlook.AppointmentItem Dim strRestriction As String Dim olNs As Outlook.Namespace Dim blnCreated As […]