Интересно, сможет ли кто-нибудь помочь мне.Исключить текстовое значение от VBA Autosort
Я использую следующий код, чтобы выполнить сортировку до закрытия книги.
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Sheets("Input").Protect "password", UserInterFaceOnly:=True
With ThisWorkbook.Worksheets("Input")
If .Range("B7").Value = "" Then Exit Sub
.Range("B7:AH400").Sort Key1:=.Range("B7"), _
Order1:=xlAscending, _
Header:=xlGuess, _
OrderCustom:=1, _
MatchCase:=False, _
Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
End With
End Sub
код работает отлично, но я хотел бы расширить функциональные возможности немного дальше и исключить текстовое значение «Введите свое имя» из рода, так что клетки с этим значением в столбце B будет всегда будет последней строкой под всеми моими строками данных.
Я потратил хорошую неделю или около того на это, пытаясь найти решение, но, к сожалению, я не смог этого сделать. Я также посмотрел сайт Microsft, чтобы узнать, есть ли какие-либо встроенные функции в методе Range.sort, но я снова нарисовал пробел.
Я даже не уверен, возможно ли это, но я просто задавался вопросом, может ли кто-нибудь посмотреть на это, пожалуйста, и предложить некоторые рекомендации о том, как я могу это достичь.
Большое спасибо и добрые пожелания
Крис
Моей первой мыслью (так как это только один, но данные) будет удалить «Введите свое имя» значение данных ... то вроде .... затем повторно - верните его в нижнюю часть набора данных. Очевидно, что это не очень удобно. Кроме того, если «Введите свое имя», естественно, находится в нижней части набора данных, вы можете просто исключить его из диапазона сортировки. – Pynner
Привет, @ Pynner, спасибо, что нашли время ответить на мой пост. Мне было бы очень интересно узнать, можно ли исключить это значение из сортировки. Я просто задавался вопросом, можете ли вы предложить некоторые рекомендации о том, как я могу это сделать. Большое спасибо и добрые пожелания. Chris – IRHM