vbs操作excel宏求帮助!

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vbs操作excel宏求帮助!相关的知识,希望对你有一定的参考价值。

我不懂vbs求大神帮忙写一个vbs代码,功能是操作excel宏,这个宏的主要代码是
Sub Macro1()
'
' Macro1 Macro
'
'
Rows("1:19").Select
Selection.Copy
Range("A21").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
Rows("1:20").Select
Application.CutCopyMode = False
Selection.Delete Shift:=xlUp
Range("A1").Select
End Sub
我想在不打开excel的情况是执行这个代码而且要excel中的内容有变化这个可以么?就是想要一个可执行文件,一点击这个文件excel中的内容就按照上边的宏变化!不打开excel

哥们,这个我有一个间接地方法可以实现,就看你能不能听懂了。
1.你拿到的代码肯定是咋microsoft visual basic下的模块1上看到的,那么你双击这个界面的sheet1,看右边的代码窗口,有个“通用”的下拉框,选择“worksheet”,在“声明”下拉框选择“Worksheet_SelectionChange”,然后会生成一段代码如下:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

End Sub
你在第一行和第三行之间复制你的代码,但是你的代码的第6行到倒数第二行,那么就得到了这个:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Rows("1:19").Select
Selection.Copy
Range("A21").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
Rows("1:20").Select
Application.CutCopyMode = False
Selection.Delete Shift:=xlUp
Range("A1").Select
End Sub
保持该excel,原来的代码无所谓,删不删都没事。
然后新建一个text文件,写入:
Set oexcel=CreateObject("excel.application")
oexcel.Visible=false
Set workbook=oexcel.Workbooks.Open ("c:\1.xlsm") '这是那个excel文件的绝对路径,最好保持为xlsm格式,带宏的嘛
workbook.Worksheets(1).cells(1,1).select
set workbook=nothing
oexcel.quit
set oexcel=nothing
保持该text文件,修改后缀为vbs,双击.
注意,该代码只对第一个sheet叶有效果。
参考技术A 可以再后台打开,执行完毕后 自动保存关闭!追问

怎么在后台打开呢?不清楚啊!您能具体说下么?

VBS 操作Excel

 VBS操作Excel

  1. 打开excel

    Dim objExcel,objWorkbook,objSheet

    Set objExcel=CreateObject("excel.application")

    Set objBook=objExcel.Workbooks.Open("\MGPCTFSW01UserFolders$ 165050DesktopPortal_Smoke_AutomationTest DataBook1.xlsx")

  2. 读取Excel

    a.

    Set objSheet=objbook.Sheets("sheet1")

    msgbox objSheet.cells(2,2)

    Set objBook=Nothing

    Set objSheet=Nothing

    objExcel.Quit

              b.

              Set objSheet=objbook.Sheets(SheetName)

              Set objRange = objSheet.UsedRange

              objRow = objRange.Find(RowName).Row

              objColumn = objRange.Find(ColumnName).Column

              objValue = objSheet.Cells(objRow,objColumn)

 

以上是关于vbs操作excel宏求帮助!的主要内容,如果未能解决你的问题,请参考以下文章

打开 Excel 文件,运行宏,保存(覆盖)

vbs操作excel的问题,请大家帮忙啊

关于使用vbs操作excel的问题

如果从 Excel vba 执行 vbs,则从 vbs 运行 Access ImportExport 失败 - 知道吗?

VBS 操作Excel

我想用Excel宏编写代码来对SQL数据库进行连接和操作,请教详细的步骤或方法,重分!!!!一定加分