ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: Emily

[Excel 程序开发] [开_23] 格式、找尋及 merge cell ★★ (已完結)

[复制链接]

TA的精华主题

TA的得分主题

 楼主| 发表于 2005-6-1 22:50 | 显示全部楼层

各位請保留 A9:AE10 的格式

TA的精华主题

TA的得分主题

发表于 2005-6-14 15:12 | 显示全部楼层

Sub test() Dim i%, BegCol%, HolDay(22) As Date, tmpR As Range [c1] = "24 Jan 2005" [c4] = DateAdd("d", 28, [c1]) BegCol = [d4].Column Range(Cells(6, BegCol), Cells(40, BegCol + 28)).Interior.ColorIndex = xlNone Range(Cells(41, BegCol), Cells(41, BegCol + 28)).ClearContents Range(Cells(4, BegCol), Cells(4, BegCol + 28)).MergeCells = False For i = 1 To 22 HolDay(i) = Sheets("PH").Cells(1 + i, 1) If HolDay(i) > [c4] Then Exit For Next For BegCol = 1 To i - 1 If HolDay(BegCol) >= [c1] And HolDay(BegCol) <= [c4] Then Cells(41, [d4].Column + (HolDay(BegCol) - [c1])) = Sheets("PH").Cells(1 + BegCol, 3).Value End If Next [c4] = DateSerial(Year([c1]), Month([c1]) + 1, 0) i = [c4] - [c1] [d4] = [c1] [d4].HorizontalAlignment = xlCenter [d4].NumberFormatLocal = "mmm" BegCol = [d4].Column Range([d4], Cells(4, BegCol + i)).Merge Cells(4, BegCol + i + 1) = [c4] + 1 Cells(4, BegCol + i + 1).HorizontalAlignment = xlCenter Cells(4, BegCol + i + 1).NumberFormat = "mmm" Set tmpR = Range(Cells(4, BegCol + i + 1), Cells(4, BegCol + 28)) tmpR.Merge With tmpR.Borders(xlEdgeLeft) .LineStyle = xlContinuous .ColorIndex = 5 End With [d5] = DatePart("ww", [c1]) For i = 1 To 3 Cells(5, BegCol + i * 7) = [d5] + i Next For ii% = 1 To 28 i = BegCol + ii% - 1 If ii% Mod 7 = 0 Or Len(Cells(41, i)) > 0 Then Range(Cells(6, i), Cells(40, i)).Interior.ColorIndex = 20 End If Next End Sub 出现这样的提示是因为合并时,其它单元格有内容,初始化时把它们清了就行了.这是上面程序的第7句,在其下加一句.

Range(Cells(4, BegCol), Cells(4, BegCol + 28)).MergeCells = False

增加的语句是:

Range(Cells(4, BegCol), Cells(4, BegCol + 28)).ClearContents

[此贴子已经被作者于2005-6-22 10:03:26编辑过]

TA的精华主题

TA的得分主题

 楼主| 发表于 2005-6-14 19:32 | 显示全部楼层

shuyee

多謝你的參予,但有下列問題,請更改

[VBA1] 测试题:格式、找尋及 merge cell ★★

[VBA1] 测试题:格式、找尋及 merge cell ★★

TA的精华主题

TA的得分主题

 楼主| 发表于 2005-6-20 09:37 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
請問各板友對以上的作法有什麼意見,如沒有則取消置頂。問題依然保留,希望各位可試用 find

TA的精华主题

TA的得分主题

 楼主| 发表于 2005-6-24 21:23 | 显示全部楼层
以下是引用办公之星在2005-5-26 11:42:00的发言:

版主大约不在大陆生活,繁体不算,汉语也不怎么“协议”,呵呵。

其實我很多時都不明白內地朋友的意思

TA的精华主题

TA的得分主题

 楼主| 发表于 2005-6-24 23:50 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

這測試題是從多年前寫下的輪值表抽取一部份,我覺得 Samsea 寫的比較好。

上傳的檔案原本已有一些簡單公式,參予的朋友全部沒有保留,反而用 VBA 取代。D9 - AE10 不用改變。

在函數公式而言,其實只要更改 C1 的日期,D9 - AE9 已立即更新,比用 VBA快。

請參看附件 OTcXNlxv.zip (23.81 KB, 下载次数: 80)

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-25 04:20 , Processed in 0.049085 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表