【发布时间】:2014-04-21 02:07:05
【问题描述】:
好的,这就是场景,
我有 4 个标准:
- 区
- 最高价格
- 最小尺寸
- 房间
我有一个数据列表,工作表上所需的所有值(OnSale)我只需要在两者之间运行某些算法来整理这些标准:
- 选择的区(整数)是否是客户选择的那个
- 如果价格(整数)小于最高价格
- 如果大小大于最小大小(整数)
- 如果房子有客户选择的房间数(整数)。
如果工作表(OnSale)上列表中的数据符合上述要求,它将首先创建一个表格,然后按照以下添加符合上述所有条件的房屋的详细信息。 (项目|单位数量|价格|价格(psf)|价格(psm)|尺寸(平方米)|卧室|使用权)(在OnSale上找到)
最后,如果表格没有结果,我需要它自动删除新工作表并通知用户当前没有此类销售。
提前致谢!
到目前为止,这是我到达的地方,但代码并没有给我带来任何结果
Option Explicit
Sub finddata()
Dim district As String
Dim maxPrice As Long
Dim minSize As Integer
Dim room As Integer
Dim finalRow As Integer
Dim i As Integer
Sheets("Alakazam").Range("A2:M1048576").ClearContents
district = Sheets("RealEstateAmigo!").Range("T4").Value
maxPrice = Sheets("RealEstateAmigo!").Range("T5").Value
minSize = Sheets("RealEstateAmigo!").Range("T6").Value
room = Sheets("RealEstateAmigo!").Range("T7").Value
finalRow = Sheets("OnSale").Range("A10000").End(xlUp).Row
For i = 2 To finalRow 'to loop & check every single value
If Cells(i, 1) = district Then ' if district match
If Cells(i, 3) < maxPrice Then 'if less than MaxPrice
If Cells(i, 6) > minSize Then 'if greater than minSize
If Cells(i, 7) = room Then ' if room number match
Range(Cells(i, 1), Cells(i, 13)).Copy 'Copy the rows
Sheets("Alakazam").Range("A2").End(xlUp).Offset(1, 0).PasteSpecial xlPasteFormulasAndNumberFormats
End If
End If
End If
End If
Next i
Sheets("Alakazam").Select
Sheets("Alakazam").Range("A2").Select
End Sub
【问题讨论】:
-
你可以查看autofilter
-
您要将结果粘贴到哪个工作表中?
-
哦谢谢我已经改了!但它仍然不起作用:(
-
我看到你总是清除工作表
Sheets("Alakazam").Range("A2:M1048576").ClearContents,所以我看到,代码应该总是从 A2 单元格开始粘贴结果。是真的吗? -
正如我从这里看到的
.PasteSpecial xlPasteFormulasAndNumberFormats你试图粘贴公式。也许您需要粘贴值?
标签: excel vba sorting extraction