我正在寻找一些VBA Excel代码的帮助,以便将各种工作表合并到工作簿中,并在复制过程中执行一些工作表功能(例如)。我有几十个*.csv文件,在同一个只有一个工作表的目录中,与文件的名称相同(文件是hyatt.csv,工作表名是"hyatt")。我希望在我所在的工作簿中创建一个新的工作表,并将范围(即范围(A33: in 500))从这些*.csv文件复制到一个新的工作表中。如果可能的话,我还想在这些范围上运行一些Application.WorksheetFunctions,如Min、Max、Average、StDev,并将它们写入一些新的单元格中。
我的代码看起来像这样,并
在MS Access中,我很难将不同的csv文件合并成一个xslx工作簿文件作为单独的工作表。我查到的很多东西都是为了excel,但我需要能够在Access中使用它。我在表单中尝试使用的Excel vba代码通常会给我带来错误,大多数情况下是“对象'_Global‘的方法失败”,甚至当我引用excel库并添加excel时也是如此。在所有必要的对象(如工作簿和工作表)的前缀。
编辑:
这是我尝试使用的一个示例代码,用于从csv到xslx的会话。
Dim CSVfolder As String
Dim XlsFolder As String
Dim fname As String
我完全在Excel的VBA中工作。我的解决方案必须完全是程序化的,而不是用户驱动的。解决方案的要求是用户启动一个宏来获取工作簿,并将8个工作表保存到单独的CSV文件中,保留公式并丢弃公式分辨率。我有一组工作表(sht),我反复遍历它们,并保存它们。下面的代码完美地做到了这一点。
For i = LBound(sht) To UBound(sht)
If (SheetExists(csv(i))) Then
Sheets(sht(i)).SaveAs _
fullpath & csv(i) & ".csv",
我先道歉..。
我是一个热心的Excel用户,但不熟练的VBA。任何帮助都是非常感谢的。
我需要用户以的格式输入日期。
根据该ddmmyyyy信息打开工作簿(用文件名连接它)。
从该工作簿中的特定范围复制单元格(AN1:AS1)。
将复制的单元格粘贴到另一个工作簿中。它应该粘贴在用户输入的日期旁边。
下面是我迄今为止尝试过的代码:
dim input as string
input = inputbox("Insert date in format ddmmyyyy")
Workbooks.open (""\\vmp-avayaacc\r
我很感激有很多像和这样的条目,但是我想在工作簿中保存一个单个工作表。
我的xlsm文件中的代码有一个params和数据表。我用粘贴的值创建数据的工作表副本,然后将其保存为csv。目前,我的整个工作簿更改名称,并成为一个csv。
如何在Excel工作簿中“另存为csv”?
是否存在Worksheet.SaveAs,还是必须将数据表移动到另一个工作簿并以这种方式保存?
代码示例
' [Sample so some DIMs and parameters passed in left out]
Dim s1 as Worksheet
Dim s2 as Worksheet
Set s1
大家好,有人能帮我提一下我的问题吗?在下面的VBA代码中,它执行一个程序将csv文件转换为另一个工作表(SHEET2)中的excel文件,但在同一个工作簿中。
我想知道是否有任何方法可以更改它而不是进入SHEET2的CSV文件,excel可以提示我创建一个新的EXCEL工作簿,并询问工作簿的名称和可能的新位置。
注意:下面的代码只是从整个代码块执行将CSV文件转换为Excel的代码块。原因是它很长,我认为下面的程序与我真正的问题无关。
所以,如果有人需要完整的代码,我可以把它发送到你的电子邮件:)
谢谢!
Sub ImportFile()
Dim sPath As String
Dim int
我编写了一些VBA来将一些数据从一个工作簿复制并粘贴到另一个工作簿中:
Dim x As Workbook
Dim y As Workbook
' Open both workbooks
Set y = ActiveWorkbook
Set x = Workbooks.Open("Data.csv")
' Copy data from x
x.Sheets("SourceData").Range("A1", _
x.Sheets("SourceData").Range("A1").End
我试图将启用宏的Excel工作簿保存为csv文件,覆盖旧的工作簿(下面我必须更改文件夹和工作表的名称,但这似乎不是问题所在)。
Sub SaveWorksheetsAsCsv()
Dim SaveToDirectory As String
Dim CurrentWorkbook As String
Dim CurrentFormat As Long
CurrentWorkbook = ThisWorkbook.FullName
CurrentFormat = ThisWorkbook.FileFormat
SaveToDirectory = "\MyFolder\
我已经在我的excel文件上做了各种各样的事情,最后我需要返回到最后保存的版本。所以我关闭并重新打开我的excel文件而不保存,这是有效的。在关闭工作簿之前,我已经复制了一系列单元格(通过使用一些排序和过滤等方法创建)。现在,当我重新打开它时,我需要将它们粘贴到文件的末尾。
但是当我们重新打开一个工作簿时,先前运行的宏不会在它停止的地方继续。我想在宏再次重新打开时停止的地方运行它。这有可能吗?
我的想法是在工作簿打开时放入以下代码:
sub Auto_open()
sheet1.activate
' and select the last row of t
我有一个UDF,可以在excel工作簿中的单元格中调用。我需要它在工作簿的末尾添加一个工作表。我在VBA脚本中多次使用sheets.add,但从未在单元格内调用的函数中使用过,这显然导致了一些问题。
该函数接受一个可选参数,用于添加工作表的工作簿的文件路径,如果用户保留此空白,则默认为活动工作簿。
下面是相关代码..。我做错了什么?
Public Function onesheet(Optional filepath As String)
Dim wb As Workbook
Dim ws As Worksheet
If filepath = "" Then
Set
几年前,我使用Excel97编写了一个VBA程序,该程序使用
Set R = Application.InputBox( Prompt etc. ... Type:=8)
方法,供用户选择打开的工作簿/工作表中的单元格。这在当时是没有问题的,但现在我正在修改Excel2007的程序,只有当用户输入A1格式的地址时它才能工作。它不允许用户在打开的工作簿和工作表之间移动,或滚动工作表来查找他想要的单元格。
然而,奇怪的是,如果它位于宏中,它确实可以像广告中那样工作,但只需使用鼠标在与宏相同的工作簿中选择一个单元格。
我想知道是否有人遇到过这个问题,他们找到解决方法了吗?