Alright...back与另一个Excel问题。
这一次,我有一个Excel工作簿,它具有800种化学/化合物的化学和物理性质。我还有另外一本工作簿,里面有大约200种化学物质。
我需要在工作簿中使用800种化学品,只显示在较小的工作簿中显示的化学品。从技术上讲,我可以通过所有800种化学物质,并使用“过滤器”功能,取消所有我不想要的东西,但很明显,这将花费永远和肯定有一个更快的方法。
是我想要发生的事情:
在这两个工作簿中,CAS编号都是列之一。我已经复制了我希望显示在较大工作簿中的一个新列中的化学物质的所有化学文摘编号。我想做的是有一些VBA代码,基本上是这样的:“如果大工作簿中的CAS编号等于小工作簿中的CAS编号,那么显示那个化学物质。如果没有,就不要显示它。”
如果这很难理解,那我很抱歉,很难用语言表达。
This is what I started doing:
Sub HideRows()
BeginRow = 3
EndRow = 802
ChkCol = 3
For RowCnt = BeginRow To EndRow
If Cells(RowCnt, ChkCol).Value = "A3" Then
Cells(RowCnt, ChkCol).EntireRow.Hidden = True
Else
Cells(RowCnt, ChkCol).EntireRow.Hidden = False
End If
Next RowCnt
End Sub但我不认为这是对的。有什么想法吗?
发布于 2015-10-13 22:10:25
尝尝这个。
将此例程放置在标准代码模块中。
Public Sub Ryan_C()
Dim rCrit As Range, rData As Range
With Sheets("Sheet1").[a1]
Set rData = .Resize(.Item(.Parent.Rows.Count).End(xlUp).Row, .Item(, .Parent.Columns.Count).End(xlToLeft).Column)
End With
With Sheets("Sheet2").[a1]
Set rCrit = .Resize(.Item(.Parent.Rows.Count).End(xlUp).Row)
End With
rData.AdvancedFilter xlFilterInPlace, rCrit
End Sub注:这假定800个化合物在Sheet1中,200个化学文摘社注册编号为Sheet2。根据需要编辑工作表名称。
注意:这假设两个工作表中的数据都以单元格A1开头。
注意:它还假设两个工作表顶部的CAS头匹配。
https://stackoverflow.com/questions/33113372
复制相似问题