制作一个将所选列导出到新文件的宏

时间:2009-08-31 11:58:01

标签: excel

可以创建哪种宏将所选列导出到另一个新文件?

例如,将列A,B,C导出到一个新文件,顶部有一些新的额外行?

这将是页面上的按钮。

2 个答案:

答案 0 :(得分:0)

您可以使用ADO。此示例写入命名工作表,但您也可以写入许多不同的应用程序或文本文档。它假定您有一个带有命名列的标题行(ColName1,ColName2),但也可以复制没有标题行的列。

Dim cn As Object
Dim rs As Object

strFile = Workbooks(1).FullName
strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strFile _
    & ";Extended Properties=""Excel 8.0;HDR=Yes;IMEX=1"";"

Set cn = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.Recordset")

cn.Open strCon

strSQL = "SELECT ColName1, ColName2 FROM [Sheet4$]"

rs.Open strSQL, cn

For i = 0 To rs.Fields.Count - 1
    Sheets("Sheet2").Cells(1, i + 1) = rs.Fields(i).Name
Next

Sheets("Sheet2").Cells(2, 1).CopyFromRecordset rs

答案 1 :(得分:0)

此代码会将所选范围复制到新工作簿。

Sub Copy_Selection()

    Selection.Copy
    Workbooks.Add
    ActiveSheet.Paste
    Application.CutCopyMode = False

End Sub

添加宏后,可以将其链接到按钮。

对于Excel 2007:

  • 点击开发者标签
  • 使用插入下拉列表从表单控件部分
  • 中选择按钮
  • 光标将变为十字线
  • 左键单击,按住,拖动并释放屏幕以调整按钮大小
  • 将显示分配宏对话框,选择宏并点击确定按钮
  • 右键单击按钮,然后选择编辑文字
  • 将按钮文字更新为“复制选择”