1. //清除空列
  2.  
  3. Sub ClearNullMacro1()
  4. Dim j As Integer
  5. Dim colCount As Integer
  6.  
  7. colCount = Cells(2, Columns.Count).End(xlToLeft).Column
  8. For j = 1 To colCount
  9. Dim v As String
  10. v = Cells(2, j).value
  11. ' MsgBox v
  12. If v = "" Then
  13. Columns(j).Delete
  14. Dim PauseTime
  15. PauseTime = Timer + 1.5
  16. colCount = Cells(2, Columns.Count).End(xlToLeft).Column
  17. End If
  18. Next
  19.  
  20. MsgBox "successed" & Cells(2, Columns.Count).End(xlToLeft).Column
  21. End Sub
  22.  
  23. //创建sql语句
  24. Sub GenerateSqlMacro1()
  25. For Each Sh In Worksheets
  26. Dim j As Integer
  27. Dim colCount As Integer
  28. Dim keys As String
  29. Dim values As String
  30.  
  31. colCount = Sh.Cells(2, Columns.Count).End(xlToLeft).Column
  32. For j = 1 To colCount
  33. keys = keys & Sh.Cells(1, j).value & ", " & Chr(10)
  34. values = values & "'" & Sh.Cells(2, j).value & "', " & Chr(10)
  35. Next
  36.  
  37. Sh.Cells(5, 1).value = "insert into " & Sh.Name & "(" & Chr(10) & keys & ")"
  38. Sh.Cells(7, 1).value = "values (" & Chr(10) & values & ")"
  39.  
  40. keys = ""
  41. values = ""
  42. Next
  43.  
  44. MsgBox "successed"
  45. End Sub

  46. //替换星
  47. Sub HandleXing()
  48.  
  49. For Each Sh In Worksheets
  50. Dim j As Integer
  51. Dim colCount As Integer
  52. Dim keys As String
  53. Dim values As String
  54. Dim parms As String
  55.  
  56. colCount = Sh.Cells(2, Columns.Count).End(xlToLeft).Column
  57. For j = 1 To colCount
  58.  
  59. keys = keys & Sh.Cells(1, j).value & ", " & Chr(10)
  60.  
  61. If InStr(Sh.Cells(2, j).value, "*") <= 0 Then
  62. values = values & "'" & Sh.Cells(2, j).value & "', " & Chr(10)
  63. Else
  64. Dim value As String
  65. value = Replace(Sh.Cells(2, j).value, "*", "@")
  66. values = values & value & ", " & Chr(10)
  67. parms = parms & "declare " & value & " nvarchar(200) " & Chr(10)
  68. End If
  69.  
  70. Next
  71.  
  72. Sh.Cells(11, 1).value = "insert into " & Sh.Name & "(" & Chr(10) & keys & ")"
  73. Sh.Cells(12, 1).value = "values (" & Chr(10) & values & ")"
  74. Sh.Cells(13, 1).value = parms
  75. keys = ""
  76. values = ""
  77. parms = ""
  78. Next
  79.  
  80. MsgBox "successed"
  81. 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. CocoaAsyncSocket 与 Java服务 交互

    注意:向客户端写数据时最后需要加上\n,不然很久都不会得到服务端的返回. 上面为普通的socket服务端,最近项目采用apache mina框架建后台的socket服务端,采用上面的asyncSock ...

  2. OpenCV使用FLANN进行特征点匹配

    使用FLANN进行特征点匹配 目标 在本教程中我们将涉及以下内容: 使用 FlannBasedMatcher 接口以及函数 FLANN 实现快速高效匹配( 快速最近邻逼近搜索函数库(Fast Appr ...

  3. OpenCV亚像素级的角点检测

    亚像素级的角点检测 目标 在本教程中我们将涉及以下内容: 使用OpenCV函数 cornerSubPix 寻找更精确的角点位置 (不是整数类型的位置,而是更精确的浮点类型位置). 理论 代码 这个教程 ...

  4. Python学习(四)数据结构 —— dict

    词典类型 dict 字典由键(key)和对应值(value)成对组成.字典也被称作关联数组或哈希表. dict 赋值 dict 整体放在花括号{}中,每个键与值用冒号隔开(:),每对用逗号分割: d ...

  5. ASP.NET 5 Beta6发布了(翻译)

    感觉就好像我们刚刚发布了一个版本,现在我们又要发布一个新的版本.开发团队通过努力工作在Visual Studio2015的正式版上提交使用ASP.NET 5开发工具的上的更新以及库的更新.新的版本为b ...

  6. Orchard运用 - 为评论启用Gravatar头像

    在前一篇随笔中我曾分享如何为Orchard特定主题添加独立代码文件, 今儿延续如何把对应代码应用到Views上. 对此我不妨把为评论启用Gravatar头像这一例子来实现.其实很简单, 思路大概就是创 ...

  7. qt study 泛型和容器

    所谓泛型(generic) 能够像操作基本类型一样轻松操作对象的类和函数. qt容器类就是泛型类,基于模板的泛型类. 重载运算符overloaed operator, 托管容器 managed con ...

  8. ExtAspNet下通过文档路径实现文档的下载

    <ext:Button ID="Button1" runat="server" Text="Button" OnClick=" ...

  9. 如何用 js 递归输出树型

    <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...

  10. 读TIJ -7 多形性

    <Think in java·第 7 章  多形性> [面向对象的程序设计语言三种最主要的特征:数据抽象.继承和多态] 在这个层面是没有什么"思想"好谈的!当你依照人们 ...