设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 1973|回复: 2
打印 上一主题 下一主题

可以实现批更改数据的代码

[复制链接]
跳转到指定楼层
1#
发表于 2004-12-23 22:45:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
这个代码的作用是可以实现对成批的数据进行整体变换的功能,比如说将所有的数据整理扩大或者缩小1000倍.如果你的老板叫你把UNIT从普通变成千或万,这个代码可以一次实现.

Sub rangechange()

Dim i As Integer

Dim j As Integer

Dim x As Integer

Dim y As Integer

Dim m As Integer

Dim n As Integer

Dim myarea As Range

Dim mycell() As Long

Set myarea = ActiveWindow.RangeSelection

x = myarea.Rows.Count

y = myarea.Columns.Count

m = ActiveCell.Row

n = ActiveCell.Column

ReDim mycell(x, y)

For i = 0 To x - 1

  For j = 0 To y - 1

  mycell(i, j) = ActiveSheet.Cells(m + i, n + j).Value

  Next j

Next i

For i = 0 To x - 1

For j = 0 To y - 1

ActiveSheet.Cells(m + i, n + j).Value = mycell(i, j) / 1000

Next j

Next i

End Sub

这个是我自己做的,可以改进的地方是可不可以实现不连续区域的改变,请大家帮忙扩展啊
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2004-12-24 00:03:00 | 只看该作者
下面的代码可以实现将所有选定区域的值转化为所需的值:For Each rng In Selection.Areas

    For Each cel In rng

        cel.Value = cel.Value / 1000

    Next

Next
3#
 楼主| 发表于 2004-12-30 01:11:00 | 只看该作者
[em02]呵呵,有意思,比偶的简单多了啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-4-29 13:32 , Processed in 0.074747 second(s), 26 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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