Tag: 工作表

如果工作表名称出现在单元格范围内,则select

我希望能够将多个特定的工作表保存为PDF。 我目前有这个代码工作: Sheets(Array("Print – Cover", "Print 2.2")).Select ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=PDFFile,Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _ :=False, OpenAfterPublish:=OpenPDFAfterCreating 这将打印 – 封面和打印2.2页保存为预期的PDF。 而不是硬编码sheetnames,我想保存任何工作表有一个单元格范围内存在的名称。 例如,在我的ActiveSheet的单元格A1:A3中,我可以有蜜蜂,猫和狗 ,而macros将会 select工作表“蜜蜂”,“猫”和“狗” , 但不是“猪” ,作为工作表存在,但没有列出。 列出的页数可能会增加或减less。 这样做的目的是让用户可以轻松地指出他们想要保存哪些表而不必编辑macros。

在00:08:15而不是00:08:00开始执行代码

在“ThisWorkbook”中,粘贴: Private Sub Workbook_BeforeClose(Cancel As Boolean) 'Stop execution when workbook closes On Error Resume Next Application.OnTime Heure, "Calcul", , False End Sub Private Sub Workbook_Open() 'start execution at 8 AM when workbook opens If Hour(Now()) < 8 & Minute(Now()) < 5 Then ' If it is before 8 AM Application.OnTime Int(Now()) + TimeSerial(8, 5, 0), […]

自动将命令button链接到单元格值

我试图做的代码由2部分组成。 我设法做的第一部分,但我很难搞清楚第二部分。 第一部分:在一个文本框中填写项目编号(例如211),然后命令button运行一个macros,并在新行中填充该编号,生成一个名为211的工作表(在工作簿中),然后添加一个新的命令button到项目编号。 所以这个想法是,在主表单上有一个包含项目编号的整个列表,每个编号旁边都有一个命令button,转到相应的工作表。 所以可以很容易地有50个项目号码,50个命令button和50个工作表。 这是代码: Dim MySheetName As String Set pasteSheet = Worksheets("Mainsheet") Dim aRange As Range Dim sValue As Variant, findMe As Range, sWhere As Range sValue = TextBox1.Value Set sWhere = Range("B4:B700") Set findMe = sWhere.Find(What:=sValue, After:=sWhere(1)) If findMe Is Nothing Then LastRow = pasteSheet.Cells(pasteSheet.Rows.Count, "B").End(xlUp).Row Worksheets("Mainsheet").Range("B" & LastRow + 1).Value = […]

将CSV导入新的工作表

我试图将一个CSV文件导入到一个新创build的Excel工作表中,但是还没有能够在这里(和其他地方)利用现有的问答来解决这个问题。 另外,我确信我正在使这种方式比应该更困难,所以请随时纠正这个臃肿的代码,如果你觉得合适: $varOneSheet = "OneSheet" $xlsNewFile = New-Object -ComObject Excel.Application $xlsNewFile.SheetsInNewWorkbook = 3 $xlsNewFile.displayAlerts = $false $xlsNewFile.Visible = $false $xlsWorkbook = $xlsNewFile.Workbooks.Add() $sheetToRename = $xlsNewFile.Sheets.Item("Sheet1") $sheetToRename.Name = $OneSheet #this all works below, we need to push the data over to #xlsWorkbook now $xlsCSVFile = New-Object -ComObject Excel.Application $xlsCSVFile.displayAlerts = $false $csvFilename = (".\DATA.CSV") $xlsCSVFile.Workbooks.OpenText($csvFilename, 2, […]

复制粘贴工作表名称到另一个工作簿

我很难做到这一点。 当我启动macros时,它不会产生任何错误,但不会引起任何结果。 Sub EmpresasCubiertas() Dim x As Workbook Dim y As Workbook '## Open both workbooks first: Set x = Workbooks.Open("G:\Estudios\Biblioteca\Mercado Accionario Chileno\InsertarEmpresa.xlsm") Set y = Workbooks.Open("G:\Estudios\Biblioteca\Mercado Accionario Chileno\Procesamiento.xlsm") For i = 3 To x.Sheets.Count 'Now, paste to y worksheet: y.Sheets(1).Range(“A” & i) = x.Sheets(i).Name Next i End Sub 请注意,工作簿“y”是我首先打开运行macros的工作簿。 即它已经开放,如果有任何帮助的话。

从某个文件夹中的文件复制工作表

我正在试图从我的计算机中的某个文件夹中的文件复制工作表。 我想有一个主要的工作簿(Workbook1),我按下一个button,从每个xls或xlsm文件从某个文件夹(C:\位置)的第一张表。 我现在拥有的是以下。 Sub read_a_folder() Dim MainWB As String strPath = "C:\Location\" MainWB = ActiveWorkbook.Name Set objFso = CreateObject("Scripting.FileSystemObject") Set objFolder = objFso.GetFolder(strPath) For Each objFile In objFolder.Files If objFso.GetExtensionName(objFile.Path) = "xls" Or objFso.GetExtensionName(objFile.Path) = "xlsm" Then End If Next End Sub 所以即时通讯错过了复制工作表,因为它是我的主要工作簿。 我已经尝试使用ActiveSheet.QueryTables.Add但复制工作表的特殊格式使其不可读。 当我手动执行时,Ctrl + Shift + End和CTRL + C将起作用。 任何帮助是非常需要的。 谢谢。

如何在vb.net中获得Excel单元格名称?

我需要列的第一个空单元格的名称,例如“E15”或“A3”我尝试使用worksheet.Cells.Name和worksheet.Rows.Name,但我不认为这是正确的语法。 .. 请帮忙! 这是我的代码 Dim xlApp As Excel.Application Dim xlWorkBook As Excel.Workbook Dim xlWorkSheet As Excel.Worksheet Dim misValue As Object = System.Reflection.Missing.Value xlApp = New Excel.Application xlWorkBook = xlApp.Workbooks.Add(eXe) xlWorkSheet = xlWorkBook.Sheets("sheet1") Dim eColumn As Excel.Range = xlWorkSheet.Range("E2:E15") Dim rCell As Excel.Range For Each rCell In eColumn If rCell Is Nothing Then Dim LastCell As […]

做一个与Excel表格相关的If语句

我希望能够检查一个名为“ALPHA”(例如)的Excel中的表或工作表是否存在或不存在作为我的自动化脚本的一部分。 我的主要目标是能够做一些function如下: if ("ALPHA" exists) {Code A} if ("ALPHA" does not exist) {Code B} 你知道标准的If语句的东西 但我似乎无法弄清楚如何去做 我努力了 $file = "$path\excel.xlsx" $Exl = New-Object -ComObject "Excel.Application" $Exl.Visible = $false $Exl.DisplayAlerts = $false $wbk = $Exl.Workbooks.Open($file) $wst = $wbk.worksheets | where {$_.name -eq "*ALPHA*"} If (Test-Path $wst) {echo 1} Else {echo 2} 但我得到的是: Test-Path : Cannot bind […]

在Excel文件中只取一部分行

我有一个98列和58行的Excel表格,我看到与代码 IXLRow row = ws.Row(6); 该行取A6列到最后一个XFD6。 有select只能达到98或说只拿列不是空的? 谢谢

将数据导出到新的工作簿,而不pipeVBA中的语言设置如何

我有一个代码从当前工作簿(多个工作表)收集数据,并以预定义的方式将数据导出到新的工作簿。 问题:我用英文编写了我的代码,所以我通过名称引用了一些输出表(例如Sheet1)。 但是,我希望这个代码可以在其他语言首选项(如tabela1,tabelle1 …)中使用。 如果我引用“Sheet1”,当用户使用不同的语言设置excel时,新build的工作簿将会有一个不同名称的工作表。 问题:我该如何解决这个问题? 已经尝试:而不是原来的: w2.Sheets("Sheet1").Range… 我试过使用: w2.Worksheets(1).Range… 但显然这是行不通的(下标超出范围错误) Obs1:我也尝试添加一个新的工作表到新的工作簿中,并且指定了一个名字,并且把代码保留为原始的,但是这种方法并没有那么优雅。 Obs2:代码的相关部分是将标识符,date和内容数组粘贴到新表的位置。 代码: Function ArrayFiller(arr As Variant, arr0 As Variant, y As String, Optional ind As Boolean) As Variant Dim lRow As Long, lColumn As Long Dim w2 As Workbook Dim w3 As Workbook Dim d As Date, d1 As Long, d2 As Long […]