Excel精英培训网

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

[已解决]怎么赋值?

[复制链接]
发表于 2013-9-18 22:39 | 显示全部楼层 |阅读模式
本帖最后由 sdfsdfs 于 2013-9-24 21:14 编辑

If .Sheets(1).Range("H" & i) = "备注" Then .Sheets(1).Rows(i).CopyThisWorkbook.Sheets(1).Range("A65536").End(3)(W)

最佳答案
2013-9-19 09:30
可以直接用=吗?
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2013-9-18 22:50 | 显示全部楼层
复制,选择性粘贴,值。

你这里只怕犯错了,你复制某一整行到某一个单元格。
回复

使用道具 举报

 楼主| 发表于 2013-9-18 22:54 | 显示全部楼层
hwc2ycy 发表于 2013-9-18 22:50
复制,选择性粘贴,值。

你这里只怕犯错了,你复制某一整行到某一个单元格。

试过了,没有什么问题?
回复

使用道具 举报

发表于 2013-9-18 23:02 | 显示全部楼层
sdfsdfs 发表于 2013-9-18 22:54
试过了,没有什么问题?

没注意到一个细节,是复制到了A列的。
回复

使用道具 举报

发表于 2013-9-19 09:30 | 显示全部楼层    本楼为最佳答案   
可以直接用=吗?
回复

使用道具 举报

发表于 2013-9-19 09:39 | 显示全部楼层
  1. Sub test()
  2.     Application.ScreenUpdating = False
  3.     WOK = Dir(ThisWorkbook.Path & "\*.xls")
  4.     Do While WOK <> ""
  5.         If WOK <> ThisWorkbook.Name Then
  6.             With Workbooks.Open(ThisWorkbook.Path & "" & WOK)
  7.                 For i = 1 To .Sheets(1).Range("A65536").End(3).Row
  8.                     If ThisWorkbook.Sheets(1).Range("A65536").End(3).Row = 1 Then
  9.                         W = 10
  10.                     Else
  11.                         W = 2
  12.                     End If
  13.                     If .Sheets(1).Range("H" & i) = "备注" Then
  14.                     ThisWorkbook.Sheets(1).Range("A65536").End(3)(W).EntireRow.Value = .Sheets(1).Rows(i).EntireRow.Value
  15.                       End If
  16.                 Next
  17.                 .Close False
  18.             End With
  19.         End If
  20.         WOK = Dir
  21.     Loop
  22.     Application.ScreenUpdating = True
  23. End Sub
复制代码
回复

使用道具 举报

发表于 2013-9-19 09:41 | 显示全部楼层
本帖最后由 yyyydddd8888 于 2013-9-19 09:43 编辑

把这一句:
If .Sheets(1).Range("H" & i) = "备注" Then .Sheets(1).Rows(i).CopyThisWorkbook.Sheets(1).Range("A65536").End(3)(W)

改成这样:
           If .Sheets(1).Range("H" & i) = "备注" Then
                    ThisWorkbook.Sheets(1).Range("A65536").End(3)(W).EntireRow.Value = .Sheets(1).Rows(i).EntireRow.Value
          End If


或者:
  
  If .Sheets(1).Range("H" & i) = "备注" Then
                    ThisWorkbook.Sheets(1).Range("A65536").End(3)(W).EntireRow= .Sheets(1).Rows(i).EntireRow.Value
          End If
回复

使用道具 举报

 楼主| 发表于 2013-9-19 20:06 | 显示全部楼层
本帖最后由 sdfsdfs 于 2013-9-22 10:51 编辑
yyyydddd8888 发表于 2013-9-19 09:41
把这一句:
If .Sheets(1).Range("H" & i) = "备注" Then .Sheets(1).Rows(i).CopyThisWorkbook.Sheets(1 ...


EntireRow是什么?
回复

使用道具 举报

发表于 2013-9-19 21:00 | 显示全部楼层
sdfsdfs 发表于 2013-9-19 20:06
EntireRow是什么,代码还能这样写?

entirerow表示单元格、或者单元格区域所在的行,
entirecolumn表示单元格、或者单元格区域 所在的列。
回复

使用道具 举报

 楼主| 发表于 2013-9-19 21:22 | 显示全部楼层
本帖最后由 sdfsdfs 于 2013-9-24 21:15 编辑
yyyydddd8888 发表于 2013-9-19 21:00
entirerow表示单元格、或者单元格区域所在的行,
entirecolumn表示单元格、或者单元格区域 所在的列。


怎么按顺序?
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-14 16:13 , Processed in 0.314025 second(s), 7 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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