Excel精英培训网

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

[已解决]从一个表格复制到另外一个表格,可以运行没有结果

[复制链接]
发表于 2016-12-28 16:50 | 显示全部楼层 |阅读模式
本帖最后由 乐呵呵218 于 2016-12-29 10:30 编辑

各位大神,我想从一个表格复制数据到另外一个表格,有两个匹配项,面下的程序可以运行,不报错,但是就是没结果。咋回事啊??


Dim i As Integer
Dim j As Integer


For i = 1 To 1000
   For j = 1 To 346

    If Sheets("国泰2").Range("A" & i) = Sheets("stata格式").Range("A" & j) And Sheets("国泰2").Range("c" & i) = Sheets("stata格式").Range("d" & j) Then


    Sheets("国泰2").Select
    Range("d" & i & ":" & "k" & i).Select
    Selection.Copy
    Sheets("stata格式").Select
    Range("w" & j & ":" & "ad" & j).Select
    Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
       True, Transpose:=False

    End If


   Next j
Next i

End Sub


最佳答案
2016-12-29 10:38
  1. Sub 复制人均GDP()
  2. '
  3. ' 对比复制GDP
  4. '
  5. Dim i As Integer
  6. Dim j As Integer

  7. Application.ScreenUpdating = False
  8. For i = 1 To 100
  9.    For j = 1 To 100

  10.     If Val(Sheets("国泰2").Range("A" & i).Value) = Sheets("stata格式").Range("A" & j).Value And Val(Sheets("国泰2").Range("c" & i).Value) = Sheets("stata格式").Range("d" & j).Value Then
  11.    
  12.       
  13.     Sheets("国泰2").Select
  14.     Range(Cells(i, "d"), Cells(i, "k")).Select
  15.     Selection.Copy
  16.     Sheets("stata格式").Select
  17.     Range("w" & j).Select
  18.     Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
  19.        True, Transpose:=False
  20.       
  21.     End If
  22.       
  23.   
  24.    Next j
  25. Next i
  26. Application.ScreenUpdating = True
  27. End Sub
复制代码

数据1229.zip

277.96 KB, 下载次数: 4

发表于 2016-12-28 17:10 | 显示全部楼层
回复

使用道具 举报

发表于 2016-12-28 18:08 | 显示全部楼层
本帖最后由 乐乐2006201506 于 2016-12-28 18:09 编辑

试试下面代码。
Dim i As Integer
Dim j As Integer
For i = 1 To 1000
   For j = 1 To 346
    If Sheets("国泰2").Range("A" & i) = Sheets("stata格式").Range("A" & j) And Sheets("国泰2").Range("c" & i) = Sheets("stata格式").Range("d" & j) Then
    Sheets("国泰2").Select
    Range("d" & i & ":" & "k" & i).Select
    Selection.Copy
    Sheets("stata格式").Select
    Range("w" & j).Select
    Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
       True, Transpose:=False
    End If
   Next j
Next i
End Sub
回复

使用道具 举报

 楼主| 发表于 2016-12-29 10:31 | 显示全部楼层
乐乐2006201506 发表于 2016-12-28 18:08
试试下面代码。
Dim i As Integer
Dim j As Integer

还是不行呢,可以运行,不报错,但就是没结果,已经上传附件。麻烦大神帮我看看。
回复

使用道具 举报

 楼主| 发表于 2016-12-29 10:32 | 显示全部楼层
liyizhe000 发表于 2016-12-28 17:10
有附件吗?请上传附件

已经上传了。非常感谢!!
回复

使用道具 举报

发表于 2016-12-29 10:38 | 显示全部楼层    本楼为最佳答案   
  1. Sub 复制人均GDP()
  2. '
  3. ' 对比复制GDP
  4. '
  5. Dim i As Integer
  6. Dim j As Integer

  7. Application.ScreenUpdating = False
  8. For i = 1 To 100
  9.    For j = 1 To 100

  10.     If Val(Sheets("国泰2").Range("A" & i).Value) = Sheets("stata格式").Range("A" & j).Value And Val(Sheets("国泰2").Range("c" & i).Value) = Sheets("stata格式").Range("d" & j).Value Then
  11.    
  12.       
  13.     Sheets("国泰2").Select
  14.     Range(Cells(i, "d"), Cells(i, "k")).Select
  15.     Selection.Copy
  16.     Sheets("stata格式").Select
  17.     Range("w" & j).Select
  18.     Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
  19.        True, Transpose:=False
  20.       
  21.     End If
  22.       
  23.   
  24.    Next j
  25. Next i
  26. Application.ScreenUpdating = True
  27. End Sub
复制代码
回复

使用道具 举报

发表于 2016-12-29 10:40 | 显示全部楼层
参考附件,简单改了下,不知道你的意思

数据1229.zip

273.83 KB, 下载次数: 4

回复

使用道具 举报

 楼主| 发表于 2016-12-29 10:55 | 显示全部楼层
望帝春心 发表于 2016-12-29 10:40
参考附件,简单改了下,不知道你的意思

啊,非常感谢,可以了!,能不能稍微讲解一下为什么吗?为什么一个加val一个不加呢?
回复

使用道具 举报

发表于 2016-12-29 10:58 | 显示全部楼层
乐呵呵218 发表于 2016-12-29 10:55
啊,非常感谢,可以了!,能不能稍微讲解一下为什么吗?为什么一个加val一个不加呢?

其实简单了说就是文本不能直接与数值相等...就跟函数中用--,或*1一样
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-3-29 02:52 , Processed in 0.616458 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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