错误很多!
你应该养成写程序代码用缩进的格式的习惯,便于检查错误:
如下:
Fori=1To20
Forj=1To20
IfLen(Range(\"i,3\"))Len(Range(\"j,4\"))Then\'如果c列内的字数大于d行内的字数,就根据c列单元格内的字数调整行高
SelectCaseLen(Range(\"i,3\"))
Case1To28\'如果C列内1到28个字
Range(\"i,3\").RowHeight=38\'行高变为38
Case29To56\'如果C列内29到56个字
Range(\"i,3\").RowHeight=60\'行高变为60
Case57To84
Range(\"i,3\").RowHeight=90
Case85To112
Range(\"i,3\").RowHeight=114
Case113To140
Range(\"i,3\").RowHeight=146
Case141To168
Range(\"i,3\").RowHeight=170
EndSelect
Else\'如果c列内的字数小于d行内的字数,就根据d列单元格内的字数调整行高
SelectCaseLen(Range(\"j,4\"))
Case1To28\'如果d列内1到28个字
Range(\"j,4\").RowHeight=38\'行高变为38
Case29To56
Range(\"j,4\").RowHeight=60
Case57To84
Range(\"j,4\").RowHeight=90
Case85To112
Range(\"j,4\").RowHeight=114
Case113To140
Range(\"j,4\").RowHeight=146
Case141To168
Range(\"i,3\").RowHeight=170
EndSelect
EndIf
Nexti
Nextj
1.一看:最后两句,循环变量i和j次序搞错了,循环交叉是不行的.
2.我粗读了你的代码,你说设置行高?行高与字的多少应该无关系,应该是根据字的多少设置列宽吧?
3.Range(\"i,3\")的用法也有问题吧?
对单元格的引用,我知道的有两种方法:
(1)Range(\"A1\")是指A1单元格
(2)Cells(1,1)是指第1行第1列就是A1单元格
供参考,有不对的地方请指正. |