Хорошо, вот сценарий,
У меня есть 4 критерия:
- Округ
- Максимальная цена
- Минимальный размер
- Номера
У меня есть список данных, в которых все значения требуются на листе (OnSale), мне просто нужно запустить определенный алгоритм между ними, чтобы отсортировать эти критерии:
- Является ли выбранный район (целое число) тем, который выбрал клиент
- Если цена (целое число) меньше максимальной цены
- Если размер больше, чем минимальный размер (целое число)
- Если в доме есть количество комнат (Целое число), которое выбирает клиент.
Если данные в списке на рабочем листе (OnSale) соответствуют вышеуказанным требованиям, сначала будет создана таблица, а затем добавлены сведения о доме, который соответствует всем вышеуказанным критериям, как показано ниже. (Проект|Номер квартиры|Цена|Цена(psf)|Цена(psm)|Площадь (кв.м)|Спальни|Владение) (Найдено в OnSale)
Наконец, если таблица не дает результатов, мне нужно, чтобы она автоматически удаляла новый лист и информировала пользователя о том, что в настоящее время такой продажи нет. ‹-- Возможно MsgBox. Я действительно надеюсь, что кто-то может помочь мне с этим, потому что я действительно новичок в VBA, и мне нужно, чтобы эти вещи произошли :( Был бы очень признателен, если бы кто-то мог помочь.
Заранее спасибо!
Вот где я дошел до сих пор, но код не дает мне никаких результатов в
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
Sheets("Alakazam").Range("A2:M1048576").ClearContents
, поэтому, как я вижу, код должен всегда вставлять результат, начиная с ячейки A2. Это правда? - person Dmitry Pavliv   schedule 15.03.2014If the table churns no results i need it to delete the new sheet automatically
- какой лист следует удалить? - person Dmitry Pavliv   schedule 15.03.2014.PasteSpecial xlPasteFormulasAndNumberFormats
вы пытаетесь вставить формулы. Может быть, вам нужно вставить значения? - person Dmitry Pavliv   schedule 15.03.2014.PasteSpecial xlPasteFormulasAndNumberFormats
на ? - person Monster123   schedule 15.03.2014