
VBA
qq_42678477
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
VBA读取XML文件形成二维表并写入到占位符区域
Option ExplicitSub main() Dim xmlfiles, i xmlfiles = GetXmlFiles(ThisWorkbook.path & "\Data\*.xml") If IsEmpty(xmlfiles) Then Exit Sub For i = LBound(xmlfiles) To UBound(xmlfiles) FillBlock xmlfiles(i) Next End Su.原创 2020-10-17 18:18:11 · 512 阅读 · 0 评论 -
vba二维数组排序及转为一维数组
Option ExplicitSub test1() Dim sht Set sht = ActiveSheet Debug.Print GetDataXz(sht)End SubFunction GetDataXz(sht) Dim arr(1 To 8, 1 To 2), i, j, temp1, temp2, content '小组 For i = 1 To 8 arr(i, 1) = "'" & sht.Cells.原创 2020-09-03 23:02:34 · 3881 阅读 · 0 评论 -
VBA自定义类型示例
Option ExplicitType cwType xh As Integer xz As String cw As String sl As IntegerEnd TypeSub test() Debug.Print GetChaoShiTable(ActiveSheet)End SubFunction GetChaoShiTable(sht) Dim i, cwArr() As cwType, count, j, tableConte.原创 2020-09-03 12:41:19 · 946 阅读 · 0 评论 -
VBA操作ACCESS
Option Compare DatabaseOption ExplicitSub Open_Ado_RS_Recordset() Dim rs As ADODB.Recordset, kfml, kfrq Set rs = New ADODB.Recordset rs.ActiveConnection = CurrentProject.Connection rs.CursorType = adOpenKeyset rs.LockType = adL.原创 2020-09-02 20:58:45 · 857 阅读 · 0 评论 -
VBA代码方式实现自动筛选
Option ExplicitPrivate Sub Worksheet_Change(ByVal Target As Range) Excel.Application.EnableEvents = False Dim sht As Worksheet Set sht = Target.Parent If Target.Row = 1 And Target.Column = 10 Then If Target <> "" Then .原创 2020-08-29 09:53:27 · 3294 阅读 · 0 评论 -
VBA创建链接并实现图表工作表按钮返回
Option Explicit'输出Sub export() Dim sht As Worksheet, sql As String, sht1 As Worksheet, i, shtname, rng Set sht = ThisWorkbook.Worksheets("HZ") sql = "SELECT DISTINCT YF,SP,'' TB FROM CG order by yf,sp" exportdata sht, sql .原创 2020-08-28 21:45:17 · 740 阅读 · 0 评论 -
VBA读写UTF8文本文件
Sub Test() Dim sht As Worksheet, scr, content As String, i, arr_acsp_xz(1 To 8), arr_acsp_xz_data(1 To 8), arr_wemzs(1 To 13), arr_wemzs_data(1 To 13), temp Set sht = ThisWorkbook.Worksheets("小组") scr = "<script>" + vbCrLf scr =.原创 2020-08-27 19:38:58 · 3343 阅读 · 0 评论 -
vba执行Sqlserver存储过程生成recordset填充到表格
Option ExplicitSub exportdata() Dim sht As Worksheet, conn, rs, i Set sht = ActiveSheet Set conn = CreateObject("ADODB.Connection") Set rs = CreateObject("Adodb.Recordset") conn.Open "Provider=sqloledb;server=127.0.0.1,1433\sqlexpres.原创 2020-08-06 20:56:02 · 837 阅读 · 0 评论 -
VBA处理超百万数据(主要运用二维数组及字典)
class ImportorClass Option Explicit Private m_sht As Worksheet Private m_activecell As Range Private m_rowIndex As Long Private m_dictYjzh Private m_ksrq As Date Private m_jzrq As Date Private m_dictJsd Private m_r.原创 2020-07-31 19:34:15 · 2697 阅读 · 0 评论 -
vba查找某行指定底色的列字母
Option ExplicitSub test() Dim sht As Worksheet Set sht = ActiveSheet Debug.Print FindInterior(sht, 21, 65535)End SubFunction FindInterior(sht As Worksheet, line As Long, color As Long) Dim rng As Range, r, reg, col As Collection,.原创 2020-07-27 21:24:41 · 277 阅读 · 0 评论 -
vba冒泡排序与选择排序
1. vba冒泡排序Option ExplicitSub SelectionSort() Dim arr, i, j, temp arr = Array(1, 9, 10, 5, 4) PrintArr (arr) For i = LBound(arr) To UBound(arr) - 1 For j = LBound(arr) To UBound(arr) - 1 - i If arr(j) > arr(j + 1)原创 2020-07-12 22:15:39 · 1688 阅读 · 0 评论 -
vba项目实战(类模块、字典、集合、正则等)
class UserForm1 Option Explicit Private Sub btnBillDir_Click() Me.txtBillDir.Text = GetFolder() End Sub Private Sub btnCiam_Click() Dim fileNameObj fileNameObj = Excel.Application.GetOpenFilename("Excel文件(.原创 2020-07-04 18:54:39 · 1255 阅读 · 0 评论 -
vba操作工作表单元格
Sub CreateSheets() Dim i For i = 1 To 30 Step 1 Sheets.Add(after:=Sheets(Sheets.Count)).Name = "4月" & i NextEnd SubSub DeleteSheets() Dim sht Excel.Application.DisplayAlerts = False For Each sht In Sheets If .原创 2020-07-02 22:08:10 · 585 阅读 · 0 评论 -
vba选择文件(正则、字典等综合应用)
Option ExplicitSub test() Dim path, dict, item, sht, i, yjh, dir path = GetFolder() If path = "" Then Exit Sub Set dict = GetFilesDict(path) dir = GetDeskTopTimeDir() Set sht = ActiveSheet sht.Range("b2:b" & sh.原创 2020-07-02 22:06:58 · 426 阅读 · 0 评论 -
vba字典(dictionary)示例
option explicitsub test() dim dict,arr,i set dict = CreateObject("Scripting.Dictionary") '一组数据放到字典 arr = Range("A1").CurrentRegion for i = 2 to UBound(arr) step 1 dict(arr(i,1)) = arr(i,2) next arr = Range("D1:E" &am.原创 2020-06-29 18:01:33 · 1423 阅读 · 0 评论 -
vba显示图片文件
Sub Button1_Click() Dim sht As Worksheet, rng As Range, picPath As String Set sht = ActiveSheet Set rng = ActiveCell If sht.Cells(1, rng.Column) <> "文件" Then Exit Sub picPa...原创 2020-03-30 08:13:26 · 2242 阅读 · 0 评论 -
ACCESS生成GUID
Function CreateGuid(ParamArray S() As Variant) As String CreateGuid = "{" + LCase(Mid$(CreateObject("Scriptlet.TypeLib").Guid, 2, 36)) + "}"End Function原创 2019-12-28 20:56:23 · 1051 阅读 · 0 评论 -
vba正则拆分字符串
Option ExplicitSub test() Dim i As Long For i = 2 To Sheet1.Range("A1000000").End(xlUp).Row Sheet1.Cells(i, 2) = GetStr(Sheet1.Cells(i, 1).Value, "^.*[a-zA-Z](?=\d)") ...原创 2019-11-11 11:09:57 · 2013 阅读 · 2 评论 -
vba利用自动筛选按任意列拆分成多工作表
Option ExplicitSub main() Dim colNo As Integer, sht As Worksheet, lastRow As Long, i As Long, flag As Boolean colNo = InputBox("col no:") Excel.Application.DisplayAlerts = Fals...原创 2019-11-10 10:47:24 · 1209 阅读 · 0 评论 -
面向对象思维拆分工资条
测试代码Sub Add() Dim st As New SalaryTableCalss st.Create ActiveSheet st.AddTitleEnd SubSub Delete() Dim st As New SalaryTableCalss st.Create ActiveSheet st.DeleteOtherLin...原创 2019-11-08 10:25:02 · 144 阅读 · 0 评论 -
vba隐藏不要的行
如,当前单元格的内容是 5,6,7,则仅显示5,6,7行,其余行隐藏Sub HIDE() Dim v As String, lines, i, firstLine, isFirstLine As Boolean v = ActiveCell.Value lines = Split(v, ",") ActiveSheet.Rows.Hidden =...原创 2019-10-29 18:44:57 · 1991 阅读 · 0 评论