Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 2228|回复: 8

[已解决]这样生成工资条为什么不可以?

[复制链接]
发表于 2008-12-28 02:16 | 显示全部楼层 |阅读模式

zt5TqAfh.rar (9.24 KB, 下载次数: 3)

发表于 2008-12-28 03:03 | 显示全部楼层

你的最终目的是想做工资条,对吗?其实做工资条的方法有很多种,不过VBA写代码我不会,呵呵!我觉得用定位法也挺快的,朋友不防试试!

pdq83U9s.rar (330.11 KB, 下载次数: 1)
回复

使用道具 举报

发表于 2008-12-28 08:40 | 显示全部楼层    本楼为最佳答案   

Sub 工资表格式()
krow = Sheet1.Range("a65536").End(xlUp).Row

Y = 2
For X = 1 To krow * 2 - 2 Step 2
    Sheet2.Range(Cells(X, "A"), Cells(X, "E")) = Sheet1.Range("a1:e1").Value
    Sheet2.Range(Cells(X + 1, "A"), Cells(X + 1, "E")) = Sheet1.Range("A" & Y & ":E" & Y).Value  'Cells(Y, "A"), Cells(Y, "E")).Value
    Y = Y + 1
Next X
End Sub

回复

使用道具 举报

 楼主| 发表于 2008-12-28 09:37 | 显示全部楼层

紫沁,你好,谢谢你的公式方法,你的方法也很不错,不过我是想学习一下VBA代码的!谢谢你,只是没有把最佳答案给你,因为我要的是代码,愿意向你学习公式!!!
回复

使用道具 举报

 楼主| 发表于 2008-12-28 09:42 | 显示全部楼层

liyh67你好,你的代码,就是我想要的,

不过我不明白你Sheet1.Range("A" & Y & ":E" & Y).Value  这个的表示方法

和我写的Sheet1.Range(Cells(Y, "A"), Cells(Y, "E")).Value有什么区别,

为什么我这样写就不可以呢?你的那样写法就正确?

回复

使用道具 举报

发表于 2008-12-28 09:45 | 显示全部楼层

其实工资条在EJY的吉尼斯版块有这么一个题目,比的是字符的数量最少。

如果是数据量大的话还是建议使用数组。

回复

使用道具 举报

 楼主| 发表于 2008-12-28 10:16 | 显示全部楼层

是的,工资条的方法很多很多,我现在唯一不明白,我的Sheet1.Range(Cells(Y, "A"), Cells(Y, "E")).Value和liyh67的Sheet1.Range("A" & Y & ":E" & Y).Value  表示方法有何区别!!能告诉我一下吗?谢谢 wayy

回复

使用道具 举报

发表于 2008-12-28 10:52 | 显示全部楼层

因为你外边是sheet1里边的你漏写了   Sheet1.Range(Sheet1.Cells(Y, "A"), Sheet1.Cells(Y, "E")).Value

这样就对了 

[此贴子已经被作者于2008-12-28 10:52:52编辑过]
回复

使用道具 举报

 楼主| 发表于 2008-12-28 17:15 | 显示全部楼层

搁浅2008,你好,就你能看出来我的代码的问题

我自己想了好长时间也没有得到答案,你的细致、细心真的要向你好好学习,

我说为什么呢,怎么就是不可以,不写变量时就可以了,原来丢了sheet1,

真的谢谢你,可是最佳答案我都给过别人了,下次一定给你!!

回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-23 23:25 , Processed in 0.379192 second(s), 8 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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