//清除空列 

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. 了解你的Linux系统:必须掌握的20个命令

    转载:http://blog.chinaunix.net/uid-16459552-id-3877787.html 要想详细了解你的Linux系统,为系统评估和性能调化提供准确的信息,那么,你会经常用 ...

  2. CSS:用SASS(SCSS)实现栅格系统

    背景 在CSS:用Less实现栅格系统中我介绍了如何用LESS实现栅格系统,为啥还要再用SASS做一遍呢?Bootstrap+JQuery+Less做前端(以读取为目的),ExtJs+Sass做后台( ...

  3. 关于comparator接口和comparable接口以及它们各自的方法compare()和compareTo()

    在今天做的LeetCode的题中有两道都出现了利用接口实现对象的排序.两题的相关链接: 1.利用comparable接口对对象排序 2.利用comparator接口实现排序 因为之前都没接触过这两个接 ...

  4. MySQL round函数

    在mysql中,round函数用于数据的四舍五入,它有两种形式: 1.round(x,d)  ,x指要处理的数,d是指保留几位小数 这里有个值得注意的地方是,d可以是负数,这时是指定小数点左边的d位整 ...

  5. MySQL中SYSDATE()和NOW()函数的区别和联系

    MySQL中有5个函数需要计算当前时间的值: NOW.返回时间,格式如:2012-09-23 06:48:28 CURDATE,返回时间的日期,格式如:2012-09-23 CURTIME,返回时间, ...

  6. linux清空文件方法

    1.以下方法,清除后,文件大小为0 2.以下方法,清除后,文件大小为1 多了一个结束字符

  7. Page的ResolveClientUrl与ResolveUrl读取路径

    Page的ResolveClientUrl与ResolveUrl读取路径 . 一.Page对象的ResolveClientUrl与ResolveUrl Page.ResolveClientUrl(): ...

  8. 关于TagHelper的那些事情——自定义TagHelper(格式化输出、依赖注入使用)

    自定义TagHelper的最后一步就是在Process方法或ProcessAsync方法中添加展现代码.熟悉WebControl开发的朋友都知道Render方法,在这个方法中会添加展现的Html元素和 ...

  9. 数学图形(2.13)Spherical trochoid曲线

    该曲线与上一节的herical cycloid球面外摆曲线 很相似,难道这是球面内摆曲线? #http://www.mathcurve.com/courbes3d/cycloidspheric/tro ...

  10. SPSS19.0实战之多元线性回归

    线性回归数据来自于国泰安数据服务中心的经济研究数据库.网址:http://www.gtarsc.com/p/sq/.数据名称为:全国各地区能源消耗量与产量,该数据的年度标识为2006年,地区包括我国3 ...