云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > Excel VBA - 读书上网笔记

Excel VBA - 读书上网笔记

  • 62 次阅读
  • 3 次下载
  • 2025/7/4 0:19:38

20,UTF-8文件 by:winland

‘http://club.excelhome.net/thread-513237-1-1.html

Public Declare Function WideCharToMultiByte Lib \ ByVal CodePage As Long, _ ByVal dwFlags As Long, _

ByVal lpWideCharStr As Long, _ ByVal cchWideChar As Long, _ ByRef lpMultiByteStr As Any, _ ByVal cchMultiByte As Long, _ ByVal lpDefaultChar As String, _

ByVal lpUsedDefaultChar As Long) As Long

ByVal lpWideCharStr As Long, ByVal cchWideChar As Long) As Long Public Const CP_UTF8 = 65001

Private Sub WriteOut(strPath As String, str As String) Dim lBufSize As Long Dim lRest As Long Dim bUTF8() As Byte Dim TLen As Long

TLen = Len(str)

lBufSize = TLen * 3 + 1 ReDim bUTF8(lBufSize - 1)

lRest = WideCharToMultiByte(CP_UTF8, 0, StrPtr(str), TLen, bUTF8(0), lBufSize, vbNullString, 0)

If lRest Then

lRest = lRest - 1

ReDim Preserve bUTF8(lRest) Open strPath For Binary As #1 Put #1, , bUTF8 Close #1 End If End Sub

21,Match函数用在字典上

k = d.keys t = d.items

ReDim brr(1 To d.Count, 1 To 3) With WorksheetFunction For i = 1 To d.Count brr(i, 1) = i

brr(i, 3) = .Large(t, i)

m = .Match(brr(i, 3), t, 0) - 1 brr(i, 2) = k(m) Next End With

m = Application.Match(xx, t, 0) – 1 如果找不到会出错。

22,单元格区域保护

‘2012-2-25

With Sheets(\费用明细\

.Cells.Locked = False ‘取消锁定 .Range(\‘锁定

.EnableSelection = xlUnlockedCells ‘其它区域不能选择 .Protect (\End With

23,数据类型

数据类型 Integer % Long & Single ! Double # String $ Currency @

24,自动筛选时标题变化

‘http://club.excelhome.net/thread-831374-1-1.html Sub Macro1() With Sheet1

If .AutoFilterMode Then

With .AutoFilter.Filters(1) If .On Then

[g1] = Mid(.Criteria1, 2) & \完成量统计表\ Else

[g1] = \完成量统计表\

End If End With End If End With End Sub

25,多工作簿导入 by:狼版主

‘http://club.excelhome.net/thread-830688-1-1.html Sub 导入数据()

Dim f As String, SrcBook As Workbook, sh As Worksheet, arr, n As Long

f = Dir(ThisWorkbook.Path & \ Application.ScreenUpdating = False Set sh = ActiveWorkbook.ActiveSheet While f > \

Set SrcBook = Workbooks.Open(ThisWorkbook.Path & \ n = SrcBook.Sheets(1).UsedRange.Rows.Count - 3 arr = SrcBook.Sheets(1).[b4].Resize(n, 17)

sh.[A65536].End(3).Offset(1, 0).Resize(n, 17) = arr SrcBook.Close False f = Dir Wend

Application.ScreenUpdating = True MsgBox \End Sub

26,指定段日期中有几个星期三

‘2012-2-27

Function jgxq3(qs, zz, x)

'星期一 x=1;星期二 x=2;星期日 x=7 'qs 起始日期 'zz 终止日期 Dim n%

n = DateDiff(\xq1 = Weekday(qs) If xq1 < x + 1 Then n = n - x - 1 + xq1 jgxq3 = Int(n / 7) + 1 ElseIf xq1 = x + 1 Then

jgxq3 = Int(n / 7) + 1 Else

n = n - x - 1 + xq1 jgxq3 = Int(n / 7) End If

End Function 用法: Sub yy()

qs = #2/26/2012# zz = #3/25/2012#

MsgBox qs & \~\有 \星期三。\

End Sub

本周一的日期:

aa = Date - Weekday(Date, 2) + 1

今日所在周的周数:

aa = Format(Date ,”ww”)

‘http://club.excelhome.net/forum.php?mod=viewthread&tid=1115630&page=3#pid7600864

‘某月中的星期日的日期和应出勤天数 Sub rq()

Dim r, bt$, dd, qs, i&, xq, zr$, n&, z$ r = Sheet1.[d2].Value

bt = Year(r) & \年\月份指纹原始记录\dd = Day(DateSerial(Year(r), Month(r) + 1, 0)) qs = DateSerial(Year(r), Month(r), 1) For i = qs To qs + dd - 1 xq = Weekday(i) If xq = 1 Then

zr = zr & Day(i) & \ End If Next

zr = Left(zr, Len(zr) - 1)

z = \注:本月星期天分别为 \日。本月应出勤天数为\& \天。\

End Sub

搜索更多关于: Excel VBA - 读书上网笔记 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

20,UTF-8文件 by:winland ‘http://club.excelhome.net/thread-513237-1-1.html Public Declare Function WideCharToMultiByte Lib \ ByVal CodePage As Long, _ ByVal dwFlags As Long, _ ByVal lpWideCharStr As Long, _ ByVal cchWideChar As Long, _ ByRef lpMultiByteStr As Any, _ ByVal cchMultiByte As Long, _ ByVal lpDefaultChar As Str

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com