excel写脚本
① 怎么制作excel按键精灵脚本
方法/步骤
1
首先来建立一个新的Excel文档,在桌面上点击右键,选择【新建】-【Excel工作表】,命名为【新手学员】。
2
现在这个新Excel文档是空白的,我们接下来会通过按键精灵的脚本来打开并写入一些数据。
3
打开按键精灵软件,点击【新建】,进入我的脚本界面,再点击进入【全部命令】。
在【全部命令】中选择【插件命令】-【office办公文档插件】-【打开Excel文档】。
在命令的下面可以看到命令的详细设置,点击【路径】。
在弹出窗口中选择【新手学员】的Excel文档,点击打开。
可以在命令参数中看到引用的文档,点击插入就可以插入对应的命令脚本。
继续在文档中写入新的数据,选择命令【writeXls 写入Excel文档单元格】,选择对应的单元格的行和列,输入要写入单元格的内容【"序号"】,点击插入。
在脚本界面可以看到新插入的代码。
根据类似的格式,可以添加其它代码,一共写入3行4列的单元格内容。
最后选择【closeXls 关闭文档】,点击插入对应的代码。
修改脚本属性的描述和保存的脚本文件名。保存脚本后按【F10】进行脚本调试。
脚本执行完成后,再次打开这个Excel文档,可以看到刚才设置的数据已经成功写入了。
② 怎样在Excel中使用python脚本
在Excel中准备调用的python代码:
def merge_sort_unique(lists):
s = set()
for L in lists:
s.update(L)
return sorted(s)
任意在本地建立一个目录,并保存这个代码并命名为Methods.py。我们一步步看看如何从Excel的工作表中如何调用这个脚本。打开Excel,填写一些数据以便提供python脚本处理,并保持这个表格于刚才的python脚本在同一目录下。你的工作表应该如下:
现在,备调用python脚本,创建一个新的模块(Insert | Mole)并敲以下VBA代码:
Function msu(lists As Range)
Set methods = PyMole("Methods", AddPath:=ThisWorkbook.Path)
Set result = PyCall(methods, "merge_sort_unique", PyTuple(lists.Value2))
msu = WorksheetFunction.Transpose(PyVar(result))
ExitFunction
EndFunction
③ 如何用EXCEL的VBA脚本编写程序删除空行和空列
这段VBA代码的作用是删除Excel工作簿中所有工作表中的空行和空列。代码包含了三个子过程:
Sub 删除所有空行和空列()
这个子过程首先遍历工作簿中的每一个工作表。对于每一个工作表,它执行以下操作:取消合并单元格,以便在删除空行和空列时不会留下空白的单元格。
调用 DeleteEmptyRows 子过程,删除所有空行。
调用 DeleteEmptyColumns 子过程,删除所有空列。
自动调整行高和列宽,以适应数据。
Sub DeleteEmptyRows()
这个子过程用于删除工作表中的空行。它首先确定最后一行的行号,然后从最后一行卜橡开始向上遍历,逐行检查该行是否为空行。如果该行为空行,则删除该行。通过使用 CountA 函数来确定行中是否存在任何非空单元格。Sub DeleteEmptyColumns()
这个子过程用于删除液嫌工作表中的空列闹弊手。它首先确定最后一列的列号,然后从最后一列开始向左遍历,逐列检查该列是否为空列。如果该列为空列,则删除该列。也是通过使用 CountA 函数来确定列中是否存在任何非空单元格。
需要注意的是,由于该代码对每个工作表都进行了操作,如果工作簿中有大量工作表或者数据量很大,可能会影响代码的执行效率。
④ Excel vba每行自动插入多行并自动填充,求大神帮忙写个脚本,用多层嵌套了,就差一个自动化
新代码:
Sub CopyRow()
Dim Cell As Range
拍山 Dim RowCount As Integer, ColCount As Integer
Set Cell = Range("A2")
租枣 RowCount = 100
ColCount = Columns("L").Column
With Application
.Calculation = xlCalculationManual
.ScreenUpdating = False
End With
Do While Not IsEmpty(Cell)
If Cell > 1 Then
Range(Cell.Offset(1, 0), Cell.Offset(RowCount, 0)).Resize(, ColCount).Insert Shift:=xlDown
Range(Cell, Cell.Offset(RowCount, 0)).Resize(, ColCount).FillDown
End If
弊贺拆 Set Cell = Cell.Offset(RowCount + 1, 0)
Loop
With Application
.Calculation = xlCalculationAutomatic
.ScreenUpdating = True
End With
End Sub
⑤ 如何将Excel中表结构数据自动生成SQL脚本的方法
一: 在本地PC新建一个Excel文件(例如:excel2007)
准备工作,左键选择excel文本左上角的图标,选择“Excle选项”。1. 点击“信任中心”->“信任中心设置”->“宏设置”->选择“启用所有宏...”选项。“开发人员宏设置”选项也勾选上。 2. 点击“信任中心”->“信任中心设置”->选择“个人信息选项”,将“文档特定设置”上面默认选择去掉,避免在保存脚本时报错。
二: 在本地PC新建一个excel文件(例如: D:\testdate.xlsx)
按快捷键“ALT + F11”进入宏编辑,输入如下代码后保存。summary()为目标生成代码,SQL()为生成SQL脚本文件代码,按条件生成SQL的脚本如下:
Sub summary()
Dim i As Integer
i = 2
ThisWorkbook.Worksheets(1).Columns(2).Clear
For Each sh In ThisWorkbook.Worksheets
If sh.Name <> " " Then
ThisWorkbook.Worksheets(1).Cells(i, 2).Value = sh.Name
ThisWorkbook.Worksheets(1).Cells(i, 2).Select
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _
sh.Name + "!A1", TextToDisplay:=sh.Name
i = i + 1
End If
Next sh
ThisWorkbook.Worksheets(1).Cells.Select
With Selection.Font
.Name = "目录"
.Size = 9
.Strikethrough = False
.Superscript. = False
.Subscript. = False
.OutlineFont = False
.Shadow = False
.TintAndShade = 0
.ThemeFont = xlThemeFontNone
End With
End Sub
Sub SQL()
Dim i As Integer
i = 1
Dim ADO_Stream As Object
Dim strSQL, strDelSQL As String
Dim strTblName As String
Dim col As Long
Dim row As Long
Dim str As String
Dim PK As String
Dim cnt As Integer
PK = "PK"
Dim rowcounts As Long
rowcounts = 0
Dim filecount As Long
filecount = 0
Set ADO_Stream = CreateObject("ADODB.Stream")
ADO_Stream.Type = 2
ADO_Stream.Mode = 3
ADO_Stream.Charset = "unicode"
ADO_Stream.Open
Dim checkType As String
For Each sh In ThisWorkbook.Worksheets
cnt = 0
If sh.Name <> " " And InStr(sh.Name, "template") = 0 Then
strTblName = sh.Cells(1, 2).Value
rowcounts = 1
'Insert SQL
row = 6
Do While sh.Cells(row, 1).Value <> ""
strDelSQL = "delete from " + strTblName + " where "
strSQL = "Insert into " + strTblName + " ("
col = 1
Do While sh.Cells(3, col).Value <> ""
If col <> 1 Then
strSQL = strSQL + ", "
End If
strSQL = strSQL + sh.Cells(3, col).Value
col = col + 1
Loop
strSQL = strSQL + ") VALUES ("
col = 1
Do While sh.Cells(3, col).Value <> ""
str = Trim(CStr(sh.Cells(row, col).Value))
If InStr(Trim(CStr(sh.Cells(2, col).Value)), PK) <> 0 Then
If cnt > 0 Then
strDelSQL = strDelSQL + " and "
End If
strDelSQL = strDelSQL + Trim(CStr(sh.Cells(3, col).Value)) + " = '" + str + "'"
cnt = cnt + 1
End If
If col <> 1 Then
strSQL = strSQL + ", "
End If
If (InStr(Trim(CStr(sh.Cells(4, col).Value)), "Integer") = 0) And (InStr(Trim(CStr(sh.Cells(4, col).Value)), "Decimal") = 0) And ((InStr(Trim(CStr(sh.Cells(4, col).Value)), "DATE") = 0) Or _
((Len(str) > 0) And (InStr(Trim(CStr(sh.Cells(4, col).Value)), "DATE") > 0))) Then
If (Len(str) <= 0) And (InStr(Trim(CStr(sh.Cells(5, col).Value)), "No") = 0) Then
str = "NULL"
ElseIf InStr(Trim(CStr(sh.Cells(4, col).Value)), "DATE") > 0 Then
str = "to_date('" + str + "','yyyy-mm-dd hh24:mi:ss')"
Else
str = "'" + str + "'"
End If
strSQL = strSQL + str
ElseIf (Len(str) <= 0) And (InStr(Trim(CStr(sh.Cells(4, col).Value)), "DATE") > 0) Then
strSQL = strSQL + "NULL"
Else
If (Len(str) <= 0) And (InStr(Trim(CStr(sh.Cells(5, col).Value)), "No") = 0) Then
str = "NULL"
End If
strSQL = strSQL + str
End If
col = col + 1
Loop
strDelSQL = strDelSQL + ";" + vbCrLf
ADO_Stream.WriteText strDelSQL
strSQL = strSQL + ");" + vbCrLf
ADO_Stream.WriteText strSQL
row = row + 1
Loop
End If
i = i + 1
rowcounts = 0
filecount = 0
Next sh
ADO_Stream.SaveToFile ThisWorkbook.Path & "\MstSQL(delete by condition).txt", 2
ADO_Stream.Close
Set ADO_Stream = Nothing
End Sub
点击“保存”宏脚本,主要的一步完成。
三: 在excel文件(test.xlsx)的首页创建两个图标,分别选择右键指定宏,一个指定上面的summary(),一个指定上面的SQL()。然后就可以在后续的sheet页创建自己需要生成SQL脚本的表结构名称了,记得每个sheet页面对应一个表结构及数据,使用方法如下:
A,将需要更新的对象表数据整个sheet拷进工具中,数据只保留需要更新的数据。
B,在第2行标出主键字段,填上“PK”即可。
看看代码
http://www.51testing.com/html/41/195041-831346.html
⑥ 脚本用word还是excel写
Word。
1、脚本适合用Word文档的格式。Excel是表格形式,不适合写脚本。
2、Excel本身的空白文档就是表格形式,只需根据自己的需要填入数据,并对表格进行调整就可以快速完成表格的制作,如果需要对表格进行打印,可以用Word程序进行转换。
⑦ 怎样在Excel中使用python脚本
一、使用工具:excel、python
二、使用方法和步骤:
1、先安装python2.7,然后配置环境变量,保证python在该环境中,打开开始菜单,找到计算机,然后右键单击它,选择【属性】
2、找到高级系统设置
3、找到环境变量,点击该按钮,打开环境变量设置窗口
4、找到Path系统变量,然后点击【编辑】
5、在这里,确保python的安装目录在,没有的话,添加进去
6、下面就可以安装该插件了
7、双击即可安装,安装过程就是一路点击’下一步。
8、在这里,不要勾选python,如果通过这种方式安装python,你原先安装的python就无法使用了。
9、最后安装完成,打开Excel就可以看到datanitro了
三、注意事项:切记不要勾选python,如果通过这种方式安装python,你原先安装的python就无法使用了。
⑧ Excel 宏脚本,这个怎么修改
宏的运行或删除首先要在“宏的安全级别为低”的状态下才能进行,而Excel 默认“宏的安全级别为高”,所以打开带有宏的工作簿依次点击菜单“工具-->宏-->安全性”,打开“安全性”对话框。改成低安全性就行。
或者是只需要在注册表上修改下参数即可禁止excel宏的运行。点击任务栏上的【开始-运行】,然后在运行框上输入【regedit】命令回车,打开注册表,然后在注册表编辑器窗口上依次打开【HKEY_LOCAL_.0EXCELsecurity】,找到之后发现在右边窗口上有一消早项名称为level。双击打开它,在跳出的编辑DWORD值里面看到【数值数据(V):】下面的消神空格,你就可以在里面拿桥亏修改数值啦。将其数值更改为3即可。
⑨ 有哪些方法可以在excel中直接使用python脚本
在excel中直接使用python脚本可以使用vba触链缓发,具体做法如下:
1、创建python脚本如下:
importtime
defhello(name):
return"Hello,"+name+"!"
printhello("World")
#延时关闭windows控制闹裤台,使得用户可以看到运行结果
time.sleep(150);
2、在excel中打开vba编辑器,编写触发入口:
3、运行棚弯模宏,效果如下:
Hello,World