Tag: 工作表

使用EPPlus设置Excel工作表保护

我试图设置使用EPPlus的XLSM文件的工作表权限,但似乎我只能设置默认的保护级别,个人保护没有被设置。 为了logging,我试图在本文中以编程方式完成方法1。 以下是我正在使用的代码: using (var p = new ExcelPackage("output.xlsm")) { var ws = p.Workbook.Worksheets["MySheet"]; // Set some cell values here // Filtering, sorting, protection ws.Cells[7, 1, 10, 5].AutoFilter = true; ws.View.FreezePanes(7, 1); ws.ProtectedRanges.Add("FilteredCells", new ExcelAddress(7, 1, 10, 5)); // Worksheet protection ws.Protection.AllowAutoFilter = true; ws.Protection.AllowDeleteColumns = false; ws.Protection.AllowDeleteRows = false; ws.Protection.AllowEditObject = false; ws.Protection.AllowEditScenarios = […]

Excelmacros:从多个工作簿中复制工作表添加刷新function

我正在寻找合并多个Excel文件中的工作表到具有刷新/更新function的一个主文件。 更具体地说,我在一个文件夹中有25个工作簿,结构相同,实体不同。 每个文件都有一个表单,与文件的名称相同。 每个实体将每周更新他们的具体文件与最新的数字值。 我想创build一个macros,它将: 复制每个文件中的一个工作表并将其粘贴到一个“主”工作簿中。 有添加的function,使我可以“刷新”这些复制/粘贴标签每周。 到目前为止,我有这个代码: Sub ConslidateWorkbooks() 'Code to pull sheets from multiple Excel files in one file directory 'into master "Consolidation" sheet. Dim FolderPath As String Dim Filename As String Dim Sheet As Worksheet Application.ScreenUpdating = False FolderPath = "….." 'I have this filled in my code Filename = Dir(FolderPath & […]

R:如何将多个表分成一个而不复制标题行?

我有数以百计的电子表格,在一个文件夹中有成千上万行,需要将它们分组到一个工作表中。 我已经设法做到这一点,但我最终复制了第一行对应的标题,并希望删除这些行,只留下第一行(这应该是一个头)。 我在一个df中合并这些文件的代码是: setwd("~/Desktop/R studies/base1_rawsheets") #folder with spreadsheets library(readxl) data.files = list.files() df <- readxl::read_excel(data.files[1], sheet=1) #reading the first file of list for (file in data.files[-1]){ newFile <- readxl::read_excel(file, sheet=1) df <- merge(df, newFile, all=T) } 非常感谢您的帮助! PS:我使用的代码是从这里的解决scheme改编如何在R编程中读取多个Excel表单?

如何从活动页面(或其他)设置范围

我很困惑VBA如何在不同情况下处理Range 我有2张“主”和“数据”。 “主”表中有button,其中包括以下代码: Worksheets("Data").Activate Worksheets("Data").Select LastRow = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row Dim SrchRange As Range Set SrchRange = Range(Cells(1, 1), Cells(LastRow, 7)) 因为即使激活并select“数据”表,SrchRange也会参考“主”表。 对于“LastRow”,我发现这个解决方法,把它作为ActiveSheet.Cells(…但是“SrchRange”我找不到办法做到这一点,我已经试过至less: Set SrchRange = ActiveSheet.Range(Cells(1, 1), Cells(LastRow, 7)) Set SrchRange = Sheets("Data").Range(Cells(1, 1), Cells(LastRow, 7)) Set SrchRange = Range(ActiveSheet.Cells(1, 1), ActiveSheet.Cells(LastRow, 7)) 他们都会给我一个运行时错误“1004”。 我不明白如果更详细地描述范围情况如何改变。 即使使用Sheets和ActiveSheet,它是否仍然是范围? 我该如何做到这一点? 我设法通过不使用Rangevariables来绕过这个问题。 这里是使用SrchRangevariables的部分。 For Each HeaderMatch In SrchRange If […]

从不同结构的多个Excel工作簿中读取所有工作表(作为数据框)

我明白, readxl可以用来从工作簿读取多个工作表 。 不过,我正在努力扩展这个方向,并将其引导到许多不同的工作表中,其中有不同的工作表名称以及其中的工作表和数据。 我演示了使用安然电子表格数据 ,这是我下载的一堆.xlsx文件。 head(list.files("../data/enron_spreadsheets/"), 3) [1] "albert_meyers__1__1-25act.xlsx" [2] "albert_meyers__2__1-29act.xlsx" [3] "andrea_ring__10__ENRONGAS(1200).xlsx" 为了使其易于pipe理,我们抽样了。 # Set the path to your directory of Enron spreadsheets here enron_path <- "../data/enron_spreadsheets/" # Set the sample size for testing here sample_size <- 100 all_paths <- list.files(enron_path, full.names = TRUE) # For testing, look at n (sample_size) random workbooks. […]

使用VBA从外部工作簿添加工作表

如何使用Worksheet.Add函数从外部工作簿添加工作表? 当我尝试从外部工作簿添加工作表时,出现错误: 方法'添加'对象'表'在第三行失败 这是我的代码: Application.ScreenUpdating = False Dim ws As Worksheet Set ws = Worksheets.Add(After:=Sheet1, Count:=2,Type:="\\SharedDrive\Worksheet\Student.xltm") Application.ScreenUpdating = True

如何从多个工作表范围引用string捕获单个Excel工作表范围?

我有一个string传递给一个VBA子,它的格式是“Sheet1:Sheet5!A1:D10”,指同一工作簿(Sheet2,Sheet3和Sheet4在Sheet1和Sheet5之间)中的几个工作表的范围。 我遇到的问题是,我不能将这个引用应用到范围variables,就我所知,这是由于多个引用,我不能使用application.union,因为范围是在不同的工作表上。 如何从这个string中提取Sheet1!A1:D10,Sheet2!A1:D10等五个单独的范围?

如何从sheet中获取Excel工作表时,sheetname具有编程的空间

我试着 var tempSheet = wrksheets[sheetName] as Worksheet; 其中wrksheets是types工作表sheetName是“工作表名称与空格” 如果sheetName没有空格,它工作正常,但是如果有空格,我会得到一个exception说无效索引。 我只知道工作表的名字,不知道它的索引。 我能想到的唯一事情就是循环遍历工作表,并将每个工作表的名称与工作表名称进行比较。 效率不高,但有没有更好的办法? 谢谢 编辑说表单名称是'带空格的表单名称'当我在表单中引用一个单元格时,如A1,它将是'带空格的表格名称'!A1在wrksheets [sheetName]中使用带有空格的表格名称'我得到一个无效的索引exception我发现问题是我应该使用“带空格的工作表名称”作为sheetName而不是单引号的原始工作表名称。 所以我写了一个函数,在从wrksheets获取工作表之前删除工作表名中的无效/转义字符,然后工作正常。 private string RemoveEscapeCharsFromSheetName(string sheetName) { //TODO: should remove all chars that are not allowed in Excel Sheet Name sheetName = sheetName.Trim(new char[] { ' ', '\'' }); return sheetName; } sheet = RemoveEscapeCharsFromSheetName(sheet); var tempSheet = wrksheets[sheet] as Worksheet;

将当前活动行从一个工作表复制到另一个工作表

我有一个复制从一个工作表当前活动行到另一个问题。 说我有以下列名Sheet1中的名称,地址,城市,电话,邮政编码,我有工作表2中的类似的列。说我目前在工作表1名称栏100行或500或1000行。只将该行复制到工作表2并填充工作表2中的列。到目前为止,我有这个代码。 请让我知道如何继续。 Private Sub CommandButton1_Click() Dim CustomerName As String, Customeraddress As String, Customercity As String, Custtel As String, Custzip As String Worksheets("sheet1").Select CustomerName = Range("A2") Customeraddress = Range("B2") Customercity = Range("C2") Custtel = Range("D2") Custzip = Range("E2") Worksheets("sheet2").Select Worksheets("Sheet2").Range("B4").Select If Worksheets("Sheet2").Range("B4").Offset(1, 0) <> "" Then Worksheets("Sheet2").Range("B4").End(xlDown).Select End If ActiveCell.Offset(1, 0).Select ActiveCell.Value = CustomerName ActiveCell.Offset(0, […]

将活动工作表复制到另一个工作簿中:范围类的复制方法失败

我想我的代码复制整个工作表(SOURCE)并将其粘贴到其他工作簿(WHERE_I_WANNA_PASTE_IT)下的其他工作表(TARGET)并保存。 我得到这个错误: 运行=时间错误“1004”:范围类的复制方法失败 在这一行上: CurrentSheet.Cells.Copy Destination:=oSheet.cells 代码: Public Const path1 As String = "C:\Where_I_WANNA_PASTE_IT.xlsb" Dim oExcel As Object Dim oBook As Object Dim oSheet As Object Dim CurrentSheet As Object Sub copyNpaste Set CurrentSheet = ActiveSheet Set oExcel = CreateObject("Excel.Application") Set oBook = oExcel.Workbooks.Open(path1) Set oSheet = oBook.Worksheets("TARGET") 'Deleting what's on "TARGET" first oSheet.cells.delete 'This […]