[已解决]AU3如何直接写入Excel Macro宏函数内容并调用
本帖最后由 mpf5566 于 2013-9-16 20:14 编辑小弟请教各位大大,查遍AU3和网上的资料还是没有找到需要的内容,我的需求是下面这一段宏内容,有没有什么“笨”方法就把这一段直接写入当前打开的excel表格里面并启用,附件是示例的表。
Sub Macro1()
'
' Macro1 Macro
'
'
Columns("A:A").Select
Application.CutCopyMode = False
Selection.Delete Shift:=xlToLeft
Columns("C:F").Select
Selection.Delete Shift:=xlToLeft
Columns("F:O").Select
Selection.Delete Shift:=xlToLeft
Columns("G:M").Select
Selection.Delete Shift:=xlToLeft
Columns("H:I").Select
Selection.Delete Shift:=xlToLeft
Columns("I:R").Select
Selection.Delete Shift:=xlToLeft
Cells.Select
Cells.EntireColumn.AutoFit
Columns("C:C").Select
Selection.ColumnWidth = 22
ActiveSheet.Range("$A$1:$H$10001").RemoveDuplicates Columns:=Array(4, 7), _
Header:=xlYes
End Sub
{:face (394):} #include<excel.au3>
$oexcel=ObjCreate("excel.application")
$oexcel.visible=True
$wb=$oexcel.workbooks.open(@ScriptDir&"\示例.xlsx")
For $ws In $wb.worksheets
With $ws
Sleep(100)
.columns("A:A").delete
Sleep(100)
.columns("C:F").delete
Sleep(100)
.columns("F:O").delete
Sleep(100)
.columns("G:M").delete
Sleep(100)
.columns("H:I").delete
Sleep(100)
.columns("I:R").delete
Sleep(100)
.cells.entirecolumn.autofit
Sleep(100)
.columns("C:C").columnwidth=22
Sleep(100)
.range("A1:H10001").removeduplicates&"columns&:=Array(4,7),_header:=.xlyes";遇到的问题就是怎么样根据“日志时间”和“目标地址”去重复(EXCEL宏命令的原话是这样但是无法直接调用来使用)
EndWith
Next dim $arr=
.range("a1:h10001").removeduplicates($arr,1)这样试下
columns参数要是一个数组,用来表示需要去重复的内容在目标范围里的对应列序号,第二个参数表示是否含有标题行 回复 3# kevinch
kevinch老师,你真是我救星,研究了一个下午。您VBA函数在AU3里面运用实在是厉害。能否请教一下VBA函数如果要转换到AU3里面,参考哪一些可以查询呢?? 最好是能看懂一些vb,比如知道array(4,7)是在vb里表示一个数组,另外就是常量用对应的值来代替,最好是懂得vba,可以随时在vbe编辑器里查询相关函数的参考内容
页:
[1]