Здравствуйте. Сделал с горем пополам две книги. В книге 2 в столбце Е заполняются данные из книги 1 из столбца А, при этом берутся непустые ячейки. Но я никак не могу добиться того что бы брались не только непустые, а только те, которые содержат цифры. Причем неважно какой формат ячейки и с каким разделителем цифры.
В книге 2 в столбце Е использую формулу массива: =ЕСЛИОШИБКА(ДВССЫЛ("'["&$A$2&".xlsx]"&"Смета"&"'!"&"A"&НАИМЕНЬШИЙ(ЕСЛИ(ЕПУСТО(ДВССЫЛ("'["&$A$2&".xlsx]"&"Смета"&"'!"&"$A$"&$B$3&":$A$999"));"";СТРОКА(ДВССЫЛ("'["&$A$2&".xlsx]"&"Смета"&"'!"&"$A$"&$B$3&":$A$999")));СТРОКА(A1)));"")
Пытаюсь что-то придумать с использованием СЧЁТ(ПОИСК({1:2:3:4:5:6:7:8:9:0};A1))>0 или СЧЁТ(ПОИСК({1:2:3:4:5:6:7:8:9:0};A1))=0. Ничего не получается.
Прошу помощи. Как сделать что бы в книге 2 в столбце Е были только цифры?
Скажите пожалуйста, как защитить ячейки со ссылками на незащищённый диапазон? Вот защитил я диапазон ячеек. При попытке изменить ячейку C5, выходит сообщение о том что нельзя этого сделать, и перебрасывает меня в диапазон, на который ссылается ячейка C5. Как этого избежать? Что бы он просто не давал редактировать защищённые ячейки никуда не перебрасывая и не выделяя другие диапазоны. Желательно, что бы вообще не выводил сообщение о защите, а просто нельзя было их изменить, но можно скопировать. Вроде как можно сконвертировать xls в exe, но бесплатных конвертеров я не нашел.
Есть такой макрос, который в текущую книгу "Нагрузки.xlsm" копирует данные из книги "1.xls". Подскажите пожалуйста, как сделать, что бы не было привязки к конкретному названию текущей книги, что бы макрос работал, если изменить название "Нагрузки.xlsm"? Имя книги я здесь использую что бы после копирования данных вернуться в книгу "Нагрузки"
Код
Sub Комбинация_1()
'убрать мерцание экрана
Application.ScreenUpdating = False
'переименовать текущий лист из ячейки В2
'проверка наличия имени у группы узлов
If IsEmpty(Range("B2")) = True Then
MsgBox "Необходимо задать имя группе узлов в синей ячейке"
Else
ActiveSheet.Name = Range("B2").Text
'проверка открытой книги
If IsBookOpen("1.xls") Then
'очистить данные
Columns("AM:AT").Select
Selection.ClearContents
'Скопировать нужный диапазон в открывшейся книге на листе 1
Workbooks("1.xls").Activate
Workbooks("1.xls").Worksheets("Узлы").Range("A:H").Copy
'Активируем нужную нам книгу
Workbooks("Реакции.xlsm").Activate
'Выделяем и вставляем скопированные данные
Range("AM1").Select
ActiveSheet.Paste
'Закрываем книгу откуда мы скопировали данные
Workbooks("1.xls").Activate
ActiveSheet.Range("A1").Copy
Workbooks("1.xls").Close
'если нет открытой книги
Else
MsgBox "Нет открытого файла с реакциями", vbInformation, "Сообщение"
End If
End If
End Sub