提供免费资源
直接上代码,方便日后查阅:
以上代码会经常使用,可收藏!
Sub byw()
Dim arr, arr1
Dim i%, j%, s%
arr = Sheet6.Range("A1:K" & [A65536].End(3).Row) '第一行为标题行'
ReDim arr1(1 To UBound(arr), 1 To 11)
s = 1
For i = 2 To UBound(arr) '数据区域从第二行开始'
If arr(i, 10) = "是" Then
For j = 1 To 11
'arr1(s, j) = arr(i, j) '如果不改变数组的排列
arr1(s, 1) = s '我给加的一个序号
arr1(s, 2) = arr(i, 5)
arr1(s, 3) = arr(i, 4)
arr1(s, 4) = arr(i, 3)
arr1(s, 5) = arr(i, 1)
arr1(s, 6) = arr(i, 6)
Next
s = s + 1
End If
Next
Sheet1.Range("A4:AU100").ClearContents
Sheet1.[A4].Resize(s, 6) = arr1
End Sub
Dim arr, arr1
Dim i%, j%, s%
arr = Sheet6.Range("A1:K" & [A65536].End(3).Row) '第一行为标题行'
ReDim arr1(1 To UBound(arr), 1 To 11)
s = 1
For i = 2 To UBound(arr) '数据区域从第二行开始'
If arr(i, 10) = "是" Then
For j = 1 To 11
'arr1(s, j) = arr(i, j) '如果不改变数组的排列
arr1(s, 1) = s '我给加的一个序号
arr1(s, 2) = arr(i, 5)
arr1(s, 3) = arr(i, 4)
arr1(s, 4) = arr(i, 3)
arr1(s, 5) = arr(i, 1)
arr1(s, 6) = arr(i, 6)
Next
s = s + 1
End If
Next
Sheet1.Range("A4:AU100").ClearContents
Sheet1.[A4].Resize(s, 6) = arr1
End Sub
以上代码会经常使用,可收藏!
Office2010日历控件
[
2017/07/14 14:51 | by 吕进 | Via 本站原创 ]

Office2010是不自带日历控件的,如何执行通过Office2003或Office2007编写的VB日历控件?
1、下载附件,解压后按说明执行相关操作;
2、进行VBA编辑器,附加日历控件;
3、关闭Excel文件后重新打开即可。
下载文件 (已下载 12083 次)
1、下载附件,解压后按说明执行相关操作;
2、进行VBA编辑器,附加日历控件;
3、关闭Excel文件后重新打开即可。

在ACCESS中用VBA设置EXCEL单元格的格式
[
2016/09/25 09:29 | by 吕进 | Via 本站原创 ]

在ACCESS中用VBA更改EXCEL单格元格的格式可用以下代码:
Private Sub test5() 'EXCEL单元格格式设置
Dim excelapplication As Object
Dim str As String
str = Application.CurrentProject.Path & "\book1.xls"
Set excelapplication = GetObject(str) '获取指定的EXCEL文件
With excelapplication.sheets(1)
.Range(.Cells(1, 1), .Cells(3, 4)).Borders.LineStyle = xlContinuous '设置单元格的边框
.Range(.Cells(1, 1), .Cells(3, 4)).Borders.ColorIndex = xlAutomatic '设置单元格边框的颜色,可用1~56间的数字设置不同的颜色
.Range(.Cells(1, 1), .Cells(3, 4)).NumberFormat = "0.00%" '设置单元格的值以百分比的形式显示
.Range(.Cells(1, 1), .Cells(3, 4)).interior.ColorIndex = 24 '设置单元格的颜色
.Range(.Cells(1, 1), .Cells(3, 4)).Font.Bold = True '字体加粗
End With
End Sub
Dim excelapplication As Object
Dim str As String
str = Application.CurrentProject.Path & "\book1.xls"
Set excelapplication = GetObject(str) '获取指定的EXCEL文件
With excelapplication.sheets(1)
.Range(.Cells(1, 1), .Cells(3, 4)).Borders.LineStyle = xlContinuous '设置单元格的边框
.Range(.Cells(1, 1), .Cells(3, 4)).Borders.ColorIndex = xlAutomatic '设置单元格边框的颜色,可用1~56间的数字设置不同的颜色
.Range(.Cells(1, 1), .Cells(3, 4)).NumberFormat = "0.00%" '设置单元格的值以百分比的形式显示
.Range(.Cells(1, 1), .Cells(3, 4)).interior.ColorIndex = 24 '设置单元格的颜色
.Range(.Cells(1, 1), .Cells(3, 4)).Font.Bold = True '字体加粗
End With
End Sub
运行VBA时出现 &H80040111错误
[
2016/05/31 18:41 | by 白燕湾 | Via 本站原创 ]

在使用Excel VBA的时候,尤其是有设计的Form窗体并且上面有列表框等控件时,经常会碰到在某些电脑上打开出现“无法加载这个对象,因为它不适用于这台计算机”的问题。这个问题产生的主要原因是由于两台电脑上的MSCOMCTL.OCX版本不同。尤其是在高版本的Office里创建的窗体和控件,在低版本的Office或电脑上打开时就有可能出现这个问题。
或者出现:“&H80040111错误” 的提示,这些现象,基本都是因为版本不同导致的。
最终解决方案
1.取得MSCOMCTL.OCX最新版6.1.98.34(见附件)
2.到C:\WINDOWS\system32下找到文件MSCOMCTL.OCX
3.用新版本覆盖旧版本
4.点右键查看"属性"-"版本",看版本号是否更新为6.1.98.34
5.点"开始-运行" 输入:Regsvr32 MSCOMCTL.OCX
做到此步后,从新打开EXCEL,应该就可以了
win7 64位 的解决办法:
1、将MSCOMCTL.OCX最新版6.1.98.34 复制到C:\Windows\SysWOW64\目录下面
2、运行:cmd 第二步选择(以管理员身份运行)
3、在dos窗口中输入
cd c:\windows\syswow64 [回车键]
regsvr32 MSCOMCTL.OCX [回车键]
运行dos命令行(就是cmd)是一定要以管理员身份
下载文件 (已下载 7523 次)
或者出现:“&H80040111错误” 的提示,这些现象,基本都是因为版本不同导致的。
最终解决方案
1.取得MSCOMCTL.OCX最新版6.1.98.34(见附件)
2.到C:\WINDOWS\system32下找到文件MSCOMCTL.OCX
3.用新版本覆盖旧版本
4.点右键查看"属性"-"版本",看版本号是否更新为6.1.98.34
5.点"开始-运行" 输入:Regsvr32 MSCOMCTL.OCX
做到此步后,从新打开EXCEL,应该就可以了
win7 64位 的解决办法:
1、将MSCOMCTL.OCX最新版6.1.98.34 复制到C:\Windows\SysWOW64\目录下面
2、运行:cmd 第二步选择(以管理员身份运行)
3、在dos窗口中输入
cd c:\windows\syswow64 [回车键]
regsvr32 MSCOMCTL.OCX [回车键]
运行dos命令行(就是cmd)是一定要以管理员身份
