【发布时间】:2012-08-16 10:10:18
【问题描述】:
我有一个 Excel 工作表,其中名称为一列,工作时间为下一列的值。
我想将值大于 40 的名称复制到新工作表中,并且列中没有任何空格。新的工作表应该有名字和工作时间;值列中的任何文本都应被忽略。
Sub CopyCells()
Dim sh1 As Worksheet, sh2 As Worksheet
Dim j As Long, i As Long, lastrow1 As Long
Set sh1 = Worksheets("Sheet1")
Set sh2 = Worksheets("Sheet2")
lastrow1 = sh1.Cells(Rows.Count, "F").End(xlUp).Row
For i = 1 To lastrow1
If sh1.Cells(i, "F").Value > 20 Then
sh2.Range("A" & i).Value = sh1.Cells(i, "F").Value
End If
Next i
End Sub
【问题讨论】:
-
欢迎来到 StackOverflow :) 你尝试过什么,你在哪里卡住了?
-
Sub CopyCells() Dim sh1 As Worksheet, sh2 As Worksheet Dim j As Long, i As Long, lastrow1 As Long Set sh1 = Worksheets("Sheet1") Set sh2 = Worksheets("Sheet2") lastrow1 = sh1.Cells(Rows.Count, "F").End(xlUp).Row For i = 1 To lastrow1 If sh1.Cells(i, "F").Value > 20 Then sh2.Range("A" & i).Value = sh1.Cells(i, "F").Value End If Next i End Sub 我试过了,这行得通,但列中的文本也被复制到新工作表中,空白保持原样。他们没有被忽视。提前致谢
-
如果您不介意可以编辑您的问题,然后将代码粘贴到那里吗?在 cmets 中阅读代码真的很困难。 :)
-
好的,我知道你在做什么。一瞬间。发布答案