Excel精英培训网

 找回密码
 注册
查看: 2448|回复: 4

老师,帮我看看这个命令错在哪里了,应该进行怎样的修改,写类似命令需要注意些什么

[复制链接]
发表于 2011-3-27 18:12 | 显示全部楼层 |阅读模式
其实,这就是第二讲中的第二题的变种,当时是要从同一个工作表的某个部位选取一定量的数据复制到其他部位,我想修改一下,从把同一个工作表改写成两个不同工作表之间进行操作,我是这样写的:# Y/ ]3 w8 P& d0 k- W
Sub 数据()) D* A' C6 ]1 j, {( e9 i; |; e
Dim a, b As Integer
$ d* ?) S4 v) W! m2 @4 dDim Str As String
, h7 c8 u$ P5 C# ]/ k+ z% @- {a = Sheets("sheet1").Range("b50").End(xlUp).Row
: s' f& |: ]0 d' ~. Qb = Sheets("基础411").Range("c371").End(xlUp).Row + 1
9 q/ t* B4 ?: F7 }/ @Sheets("基础411").Select0 [1 \1 r  r, |5 p" U: f. ]; Z
Selection.Range(Cells(b, 3), Cells(a + b - 1, 43)) = Sheets("sheet1").Range(Cells(1, 2), Cells(a, 42)).Value& o! ?: _0 W7 t4 H
Sheets("sheet1").Range(Cells(1, 2), Cells(a, 42)).ClearContents
7 V: |. [. o8 E8 D5 t( B4 ~Str = "录入完毕!"
* T+ _, Q5 Z% WMsgBox Str, vbOKOnly; c- d$ b! o/ v' A, Y0 q) @: I: g
运行的时候,每次都提示最长的那一行有问题,但是我不知道问题在哪里,也不知道怎么解决,附件已经上传,希望老师们帮我看看。, U; `$ I: C& [( S0 o

1 y" Y" }" |' A( D: O: x$ l/ Q示例及目的:) `% I; d: R8 X; m; {  k! C. u
在sheet1表中,是2月份的数据,) P! o% s" K- L! Q6 R% M
现在需要做到的是,按动按键,将这部分数据,自动复制到“基础411表”中2月份的位置,然后删除sheet1表中的原数据,在整个操作过程中,保持sheet1为活动页面。* [" R5 p: N- T5 F1 @8 X
我真的没办法了,搞了一整天了,也没搞明白。4 I/ ]6 A) Q+ Y; s

报表.rar

137.09 KB, 下载次数: 19

发表于 2011-3-27 21:17 | 显示全部楼层
本帖最后由 rxj_0414 于 2011-3-28 14:48 编辑
, k2 V6 \4 e7 j1 A# x) A# t8 N0 F3 l6 b" \, C
不同的工作表中不能直接使用区域赋值。试试这个吧。8 L3 |! i9 i; @* \0 c9 E
Sub 数据()) h  z: `' ^3 g% k* Y
    Dim a, b As Integer: D9 n+ t. ]6 N) K  o
    Dim Str As String
+ u3 B; v+ ^' c# J* N1 g    Dim arr5 s% V% t) J9 Q
    a = Sheets("Sheet1").Range("B65536").End(xlUp).Row
$ F' G" B# P. e6 i2 f2 n    b = Sheets("基础411").Range("C5").End(xlDown).Row + 1
& k6 a6 f, W. A; s' `' a  K    Sheets("Sheet1").Select% f* N2 D( z/ r8 U+ l' ]! h
    Sheets("Sheet1").Range(Cells(1, 2), Cells(a, 42)).Copy Sheets("基础411").Range(Cells(b, 3), Cells(a + b - 1, 43))   
9 H+ F9 o8 J. l# ^1 @6 W8 w3 b$ k( X    Sheets("Sheet1").Select
) Q$ L0 w* G1 s* z8 D    Sheets("Sheet1").Range(Cells(1, 2), Cells(a, 42)).ClearContents2 S" ]3 D1 |+ q% e7 |
   
8 ?/ m" N; d; k3 A# S    Str = "录入完毕!"
  Z3 i6 {" i, j- s    MsgBox Str, vbOKOnly; C' t. ]# K# g+ s
End Sub4 o  e$ X. u( d' n# u
6 u+ I2 x' K; G7 ^4 j/ O/ O
回复

使用道具 举报

 楼主| 发表于 2011-3-28 20:17 | 显示全部楼层
回复 rxj_0414 的帖子- K- E% G; q4 P' T( M' S$ |6 o/ r" k
+ a* L* N; g6 h* |0 g) z: @: l
还是这一条执行不下去啊。
" K4 X+ [4 f/ C* u6 xSheets("Sheet1").Range(Cells(1, 2), Cells(a, 42)).Copy Sheets("基础411").Range(Cells(b, 3), Cells(a + b - 1, 43))   
) H) u: \; g6 P& L9 u7 D* y- v% }& C3 p3 I
回复

使用道具 举报

发表于 2011-3-28 22:19 | 显示全部楼层
Sub 数据()5 s* `: c0 U9 Y9 s) D1 T
    Dim a, b As Integer
; q1 y9 j( A. m+ z. u& w- M3 P, v( ?    Dim Str As String, F4 ]7 W6 Y4 x5 c4 c
    Dim arr2 e' {/ F# C8 A6 p+ a7 c2 G
    a = Sheets("Sheet1").Range("B65536").End(xlUp).Row
. v3 g) s; Q5 Y6 t    b = Sheets("基础411").Range("C5").End(xlDown).Row + 1
" |1 k, o  U/ E    Sheets("Sheet1").Select
5 t6 C6 U9 [9 \    Sheets("Sheet1").Range(Cells(1, 2), Cells(a, 42)).Copy$ A& w6 m8 W. _4 @' Q. C
    Sheets("基础411").Select
7 V. I4 h" |, O2 J    Sheets("基础411").Range(Cells(b, 3), Cells(a + b - 1, 43)).paste    - p# \  q( O2 f# c
    Sheets("Sheet1").Select
% s9 ^9 @8 G$ G5 n. J. A. u    Sheets("Sheet1").Range(Cells(1, 2), Cells(a, 42)).ClearContents
8 r. c) Y% L" z  a  m   
2 P9 I  B5 l$ E' }  R, s    Str = "录入完毕!"
" t  y5 z  `; t# S9 X' j    MsgBox Str, vbOKOnly
7 ?- b2 _3 d* \' A: o/ J, NEnd Sub
: V' X/ W9 O4 a8 J: M/ o' e8 D' ~4 ^( d: [+ f

, F7 A5 D8 q1 ?- K' |: ?' I8 H; R
回复

使用道具 举报

发表于 2012-8-5 08:21 | 显示全部楼层
是不是用宏录制一下 再稍做修改呢?
回复

使用道具 举报

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

GMT+8, 2024-6-4 01:57 , Processed in 0.134578 second(s), 7 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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