在VBA for Excel中,我需要保存工作表中隐藏的所有列的范围,不幸的是,我无法找到如何做到这一点。为了提供更多的上下文,我的目的是将工作表的隐藏列范围保存在一个临时变量中,然后取消隐藏列、保存工作簿和重新隐藏已保存的列,这样工作簿就会被保存到所有可见的列中。我被困在“在临时变量中保存工作表中隐藏列的范围”步骤中。谢谢你的帮助。
在下面的代码中,我在用户表单上有一个按钮,从模板创建一个新工作表,重新命名它并在新工作簿和当前工作簿中打开它。是否有自动化的方法,这样它就不会在当前的工作簿和新的工作簿中创建新的工作表?另外,它每次都会创建一个新的工作簿,这样就可以在创建新工作表时将所有新的工作表保存到一个工作簿中?任何有用的东西,谢谢!
Private Sub btnSave_Click()
Dim LastRow As Long, ws As Worksheet
Set ws = Sheets("Employee Information")
LastRow = ws.Range("A" &a
作为预先警告,我是一个使用VBA的新手。
我拼凑了以下代码来完成以下操作: 1.找到工作表"Intrastat“2.复制此工作表的使用范围3.将值粘贴到新的工作簿4.重新格式化B列中的日期5.使用将工作簿保存到原始工作簿的位置。
但是,只有当我将宏保存在原始工作簿中时,这才有效。我需要的是能够将宏保存在不同的工作簿中,并在运行宏时,我需要能够从我的硬盘上的文件位置选择“原始”工作簿。
有什么想法吗?
当前代码:
Sub TB_Intrastat_Data_Cleanse()
Dim wb As Workbook
Set wb = Workbooks.Add
Set TWKB = Thi
我有一个有两个工作表的工作簿,比如1和2。工作表1有一个按钮,单击该按钮时,运行一个VBA子调用一个R脚本。使用包RDCOMClient,R脚本连接到(仍然打开的)工作簿,从表1中读取一些数据表,计算一些内容,然后输出数据表t。我想要做的是将t输出到表2。
我现在做的是:
for (i in seq(t[,.N])){
for (j in seq(length(t))){
ws$Cells(i,j)[["Value"]]<-t[[i,j]]; #ws is a reference to Sheet2
}
}
现在的问题是它的速度太慢了。写一
我希望将许多工作表从当前工作簿保存到不同的工作簿,并将名为“按钮”的工作表排除在该保存过程中。
有人能帮忙吗?工作表的数量是可变的。
下面是我到目前为止所拥有的内容,包括当前工作簿中的所有工作表。
Sub SaveAs()
D1 = VBA.Format(Now, "mm_DD_yyyy")
For Each ws In Application.Workbooks
ws.SaveAs Filename:="C:\Users\e2309\Desktop\Andy's\GBB_Report_" & D1 & ".csv
因此,我对VBA和编码非常陌生,并且一直在编写非常简单的subs。该子程序从工作簿中获取工作表,复制到新的工作簿中,然后保存它。问题是,我希望能够指定它在保存文档时使用的名称。我正在使用一个输入框,我只是无法得到代码来接受结果。这是我的密码
Sub CC_Export()
Dim name As String
Dim Wb As Workbook
Set Wb = Workbooks("workbook1")
Wb.Sheets("Sheet1").Copy
name = InputBox("Enter Name of New Work
我是新的vba,无法使用户确定的工作簿-工作表保存到一个变量。我打算使用这个变量来控制循环,因为它在excel表中搜索单词。使用下面的代码片段,用户将被提示并可以选择一个文件,该文件显示为checkReport变量的字符串格式。但是支票单不会保存。
Dim CheckReport As Variant
Dim Checksheet As Object
'Open the target workbook
CheckReport = Application.GetOpenFilename("Excel-files,*.xls*", _
1, "Sel
不太熟悉VBA,抱歉
我需要创建一些在我的工作簿中可用的变量,但我似乎无法弄清楚。我在前面的问题中读到过,有些人建议为这个创建一个单独的dim?
当工作簿打开时,我需要将一些变量设置为与工作表中的某些单元格相等,这些变量需要从其他工作表的dims中调用。
到目前为止,我已经尝试使用
Workbook_Open()
在'ThisWorkbook‘代码区,但没有用。
有什么建议吗?
里加德
编辑
我已经尝试了以下几点:
在“ThisWorkbook”中
Public wsDrawings As String
Public Sub Workbook_Open()
wsDrawing
我有这样的代码:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Lastrow = ActiveSheet.Cells(Rows.Count, 12).End(xlUp).Row
If ActiveWorkbook.Name Like "FR_*" And WorksheetFunction.CountIf(ActiveSheet.Range(Cells(4, 12), Cells(Lastrow, 12)), "<>Pending
我为用户提供了一个受保护的工作簿A,它不允许用户从另一个工作簿B复制工作表。在工作簿A中,我将工作表1-19 (到目前为止只有13个工作表,为了将来扩展工作簿,我允许有19个工作表)视为“系统工作表”,不能删除或修改。表20-30是“非系统表”,用户可以根据需要进行删除和修改。
我希望有一个导入功能,其中用户可以导入工作簿B,其中包含一个工作簿A工作簿A工作簿A将检查,看看有多少“非系统工作表”,目前存在,并插入一个新的工作表在末尾的页码是20+。例如:
Total sheets in workbook A = 18
Total "system sheets" in A =
将VBA代码从一个工作簿传输到另一个工作簿。例如,我有一个工作簿,每个部门都有多个工作表。项目完成后,我将手动复制并粘贴到已完成的工作簿。我需要帮助创建一个VBA代码,它将只更新已完成的项目到已完成的主工作簿。我尝试了下面的VBA代码,但是它将所有的工作表都转移到一个工作表中,这不是我想要的。
Sub SummurizeSheets()
Dim ws As Worksheet
Application.ScreenUpdating = False
Sheets("Sales").Activate
For Each ws In Worksheets
有一个现成的脚本可以计算选定文件夹中工作簿中的行数。如果任何工作簿中的行数大于1,则此工作簿将被复制并保存到另一个文件夹中。
Sub OpenFiles()
Dim MyFolder As String
Dim MyFile As String
Dim TargetWB As Workbook
MyFolder = GetFolder("C:\Users\user\Desktop")
MyFile = Dir(MyFolder & "*.*")
Application.ScreenUpdati
我正在学习VBA,在有两个工作表的工作簿中开发宏时遇到了困难。第一个工作表命名为"Para“,第二个工作表命名为"Report”。
当我在Para!C6中输入一个数字或文本(例如76894)时,我希望VBA代码删除Report!Y:Y列中的所有行,但与Para!C6中的值匹配的行除外。
我尝试了以下代码,但它不起作用:
Sub KeepOnlyAtSymbolRows()
Dim ws As Worksheet
Dim rng As Range
Dim lastRow As Long
Dim s As Integer
s = Works
我有一个Excel工作簿,其中包含三个工作表。但是,所有工作表似乎都是隐藏的,但它们的可见性设置为xlSheetVisible (通过查看VBA编辑器中的工作表属性)。
这就是我到目前为止为解决这个问题所做的努力。
搜索谷歌寻求帮助,但所有类似的问题都通过将可见性从xlSheetHidden改为xlSheetVisible解决了。但在我的例子中,该设置已经设置为xlVisible。
- By using VBA I have tried to activate a sheet without any result.
通过阅读这篇文章,您可能已经猜到我能够从VBA编辑器中看到和访
因此,我试图将工作表的名称添加到同一个工作簿中的新工作表中。
例如,我将有一个输入框,允许用户选择一个单元格。我希望将他们选择的单元格中工作表的名称保存到变量中。
然后在另一个工作表上调用该变量,将工作表的名称输入空单元格。
Sub sheets()
Dim myCell As Range
Dim current As Worksheet
Set myCell = Application.InputBox( _
prompt:="Select a cell", Type:=8)
current = ActiveSheet
MsgBox current
End
我正在做一个vba项目。我的要求是,使用vba代码将现有工作表从excel文件删除/移动到新的excel文件。这意味着将特定的工作表保存到新的工作簿中。我试过很多次,但是保存的文件不是新的工作簿。这是现有的。
代码如下:
xlWorkbook.Sheets("Sheet3").Copy -- this line opens sheet3 as a new workbook
xlWorkbook.Sheets("Sheet3").SaveAs "***Path where file is be saved***", FileFormat:=