Новости:

Теперь на форум можно залогиниться / зарегистрироваться с помощью ВКонтакте. Уже существующие пользователи могут связать свою учетную запись с аккаунтом ВКонтакте одним кликом в профиле пользователя http://forum.msexcel.ru/index.php?action=profile;area=account

Главное меню

Поиск в таблице минимального значения если мин.знач. = 1 EXCEL видит 10!!

Автор vladturbo, 23.02.2011, 19:37

« назад - далее »

vladturbo

Добрый вечер
Столкнулся с проблемой
Ячейки в диапазоне A5:A314 пронумированы от 1 до 309
Ячейки в диапазоне I5:I314 пронумированы от 1 до 309, но в зависимости от от того свободна ли соседняя ячейка(допустим F10), в диапазоне I5:I314, соответственно в ячейке I10 число не отображается.
Соответственно, нумеруются только те ячейки, которы не заполнены.
В ячейке G3 находится формула =МИН(I5:I349).
Соответственно на основании значения ячейки G3 осуществляется выбор свободной ячейки с минимальным номером.
Далее макрос осуществляет вставку значений в соседние ячейки

Ситуация такая:
Все работает, если минимальная свободная ячейка не под № 1
Если минимальный номер свободной ячейки 1, то Selection.Find(What:=(Range("G3").Value), выделяет ячейку под номером 10
Range("A5:A314").Select
Selection.Find(What:=(Range("G3").Value), After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Select
ActiveCell.Next.Select
Помогите, в чем дело не пойму!

Полностью код такой:
Private Sub CommandButton4_Click()
With ThisWorkbook
nameWS = .ActiveSheet.Cells(5, 9)
If nameWS = "" Then
MsgBox " Арендатор не определен ! " & Chr(10) & _
" Введите наименование арендатора ! ", vbCritical + vbOKOnly, ""
Exit Sub
End If
Range("L5").Select
Selection.Replace What:=" ", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Selection.Replace What:=".", Replacement:=",", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Application.DisplayAlerts = False
Range("J5:O5").Select
Selection.Copy
Application.Run "Пропуска.xls!Добавление_ТС"
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
ActiveCell.Previous.Select
ActiveCell.Interior.ColorIndex = xlNone
Sheets(Range("I5").Value).Visible = xlSheetVeryHidden
Sheets("Лист1").Select
Application.CutCopyMode = False
Range("I5:O5").Select
Selection.ClearContents
Range("K14:O14").Select
Selection.ClearContents
Range("I5").Select
End With
End Sub

Sub Добавление_ТС()
Sheets(Range("I5").Value).Visible = xlSheetVisible
Sheets(Range("I5").Value).Select
ActiveWindow.SelectedSheets.Select
Range("A5:A314").Select
Selection.Find(What:=(Range("G3").Value), After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Select
ActiveCell.Next.Select
End Sub


vladturbo

Дошло! Необходимо выделять диапазон с A4 , а не с A5!!!