//清除空列 

Sub ClearNullMacro1()
Dim j As Integer
Dim colCount As Integer colCount = Cells(2, Columns.Count).End(xlToLeft).Column
For j = 1 To colCount
Dim v As String
v = Cells(2, j).value
' MsgBox v
If v = "" Then
Columns(j).Delete
Dim PauseTime
PauseTime = Timer + 1.5
colCount = Cells(2, Columns.Count).End(xlToLeft).Column
End If
Next MsgBox "successed" & Cells(2, Columns.Count).End(xlToLeft).Column
End Sub //创建sql语句
Sub GenerateSqlMacro1()
For Each Sh In Worksheets
Dim j As Integer
Dim colCount As Integer
Dim keys As String
Dim values As String colCount = Sh.Cells(2, Columns.Count).End(xlToLeft).Column
For j = 1 To colCount
keys = keys & Sh.Cells(1, j).value & ", " & Chr(10)
values = values & "'" & Sh.Cells(2, j).value & "', " & Chr(10)
Next Sh.Cells(5, 1).value = "insert into " & Sh.Name & "(" & Chr(10) & keys & ")"
Sh.Cells(7, 1).value = "values (" & Chr(10) & values & ")" keys = ""
values = ""
Next MsgBox "successed"
End Sub

//替换星
Sub HandleXing() For Each Sh In Worksheets
Dim j As Integer
Dim colCount As Integer
Dim keys As String
Dim values As String
Dim parms As String colCount = Sh.Cells(2, Columns.Count).End(xlToLeft).Column
For j = 1 To colCount keys = keys & Sh.Cells(1, j).value & ", " & Chr(10) If InStr(Sh.Cells(2, j).value, "*") <= 0 Then
values = values & "'" & Sh.Cells(2, j).value & "', " & Chr(10)
Else
Dim value As String
value = Replace(Sh.Cells(2, j).value, "*", "@")
values = values & value & ", " & Chr(10)
parms = parms & "declare " & value & " nvarchar(200) " & Chr(10)
End If Next Sh.Cells(11, 1).value = "insert into " & Sh.Name & "(" & Chr(10) & keys & ")"
Sh.Cells(12, 1).value = "values (" & Chr(10) & values & ")"
Sh.Cells(13, 1).value = parms
keys = ""
values = ""
parms = ""
Next MsgBox "successed"
End Sub

产生sql语句的vba的更多相关文章

  1. 在Access中批量调用SQL语句

    access的SQL视图一次只能执行一条SQL语句,那么在VBA中调用或许可以简便一些 例如: Public Sub 批量()Dim strsql As String   strsql = " ...

  2. 在EXCEL中使用SQL语句查询

    SQL语句在数据库使用中十分重要. 在EXCEL中可以不打开工作簿,就获取数据,对多工作簿操作很用,也很快. 对大量数据处理,比循环快很多,但是比词典方法还有点距离(可惜我还没有学会词典). 对数据库 ...

  3. 个人永久性免费-Excel催化剂功能第21波-Excel与Sqlserver零门槛交互-执行SQL语句篇

    在前两波中,已完成了Excel与Sqlserver的查询和上传功能,但难免许多临时的或更深入地操作数据库需要用Sql语句来操作,对一般用户电脑里,不可能有条件轻易安装一个数据库客户端软件,就算安装了对 ...

  4. mysql学习之 sql语句的技巧及优化

    一.sql中使用正则表达式 select name,email from user where email Regexp "@163[.,]com$"; sql语句中使用Regex ...

  5. 一条Sql语句分组排序并且限制显示的数据条数

    如果我想得到这样一个结果集:分组排序,并且每组限定记录集的数量,用一条SQL语句能办到吗? 比如说,我想找出学生期末考试中,每科的前3名,并按成绩排序,只用一条SQL语句,该怎么写? 表[TScore ...

  6. LINQ to SQL语句(7)之Exists/In/Any/All/Contains

    适用场景:用于判断集合中元素,进一步缩小范围. Any 说明:用于判断集合中是否有元素满足某一条件:不延迟.(若条件为空,则集合只要不为空就返回True,否则为False).有2种形式,分别为简单形式 ...

  7. Oracle ------ SQLDeveloper中SQL语句格式化快捷键

    Oracle SQL Developer中SQL语句格式化快捷键: 每次sql复制到SQL Developer面板的时候,格式老不对,而且看起来很不舒服,所有的sql都挤在一行完成. 这时我们可以全选 ...

  8. SQL语句优化

    (1)      选择最有效率的表名顺序 ( 只在基于规则的优化器中有效 ) : ORACLE 的解析器按照从右到左的顺序处理 FROM 子句中的表名, FROM 子句中写在最后的表 ( 基础表dri ...

  9. LinqToDB 源码分析——生成与执行SQL语句

    生成SQL语句的功能可以算是LinqToDB框架的最后一步.从上一章中我们可以知道处理完表达式树之后,相关生成SQL信息会被保存在一个叫SelectQuery类的实例.有了这个实例我们就可以生成对应的 ...

随机推荐

  1. unix简史及应用

    Unix 简史 1965年时,贝尔实验室(Bell Labs)加入一项由奇异电子(General Electric)和麻省理工学院(MIT)合作的计画:该计画要建立一套多使用者.多任务.多层次(mul ...

  2. Java:准备学习的高级主题

    ClassLoader GC Concurrent Transaction JTA JPA JDBC JNDI JNI JNA JNative OSGI JMS JSTL EL Servlet NIO ...

  3. PulsingHalo(自定义涟漪)的使用方法

    PulsingHalo的git地址是: https://github.com/shu223/PulsingHalo Objective - C 一丶PulsingHalo的实例化和启动: Pulsin ...

  4. 【java web】java运行预编译Groovy脚本

    在JVM中执行Groovy类有两种方式: 使用Groovy编译全部的*.groovy为java的*.class文件,把这些*.class文件放在java类路径中,通过java类载入器来载入这些类. 通 ...

  5. boa cgi程序cgi_header: unable to find LFLF

    ftp必须用二进制模式上传才可以 sqlite3 arm-linux-gcc hello.c -o hello.cgi -I /cgi/include -L /cgi/lib -static -lsq ...

  6. LaTeX如何设置段落层次结构

    Latex的文档层次结构大约有5层,分别是: section — subsection — subsubsection — paragraph — subparagraph 具体使用可以参考下面的例子 ...

  7. 网页采集(通过HtmlAgilityPack+XPath)

    有HtmlAgilityPack这个类库可以更方便地对HTML内容进行分析和提取.因此今天特别学习和实践了一下HtmlAgilityPack和XPath,并作下笔记. 1.下载HtmlAgilityP ...

  8. ActiveX 控件漏洞挖掘之方法

    ActiveX是微软公司提出,并在1996年被正式命名的组件技术.该技术提供了一种通用的开放程序接口,使用这种技术开发的ActiveX控件可以直接集成到IE浏览器或第三方应用程序中,但由于第三方编程等 ...

  9. django单表操作 增 删 改 查

    一.实现:增.删.改.查 1.获取所有数据显示在页面上 model.Classes.object.all(),拿到数据后,渲染给前端;前端通过for循环的方式,取出数据. 目的:通过classes(班 ...

  10. 关于从SVN检出项目后,项目名称还是之前修改之前或者项目名称不对问题

    找到工作空间Workspaces/项目名称/.projet 修改文件中<name>项目名称</name>属性即可