Есть 5 макросов. Нужно назначить их на 5 выпадающих строк из списка.
У меня получилось это сделать, но в моем способе выпадающие строки должны называться точно так, как и макросы к которым они привязаны. Проблема в том, что выпадать должны цифры с 1 по 5. Макрос назвать цифрой не могу, чтобы связать своим способом.
Появилась следующая проблема. К сожалению, собственных навыков не хватает для ее решения.
Есть два условия и одна строка. Первое условие задает с какого столбца начинается заполнение строки. Второе - до какого столбца она заполняется. Например, если в строке 100 столбцов, условие1 =10, условие2 =3, то должны остаться заполненными только столбцы с 4 по 10, с 14 по 20, с 24 по 30 и тд. Из столбцов 1-3, 11-13, 21-23 и т.д требуется удалить данные.
Условие 1 может быть в диапазоне от 1 до 100. Условие 2 - от 1 до 10. При изменении этих условий хотелось, чтобы автоматически удалялись данные из нужных ячеек.
Подскажите, возможно ли решение данное задачи с помощью макроса?
Дмитрий(The_Prist) Щербаков, Да, вы правы для меня это все очень мало понятно, где-то что-то нахожу и собираю по кусочкам, больше с помощью метода "научного тыка", но тут не получилось довести до ума самой, поэтому и обратилась. Надеюсь, что когда получится полностью во всем разобраться, хотя бы в элементарных вещах. Спасибо за помощь!
Еще такой вариант был, тоже видимо не правильно, не работает
Код
Dim s As Worksheet
For Each s In ThisWorkbook.Worksheets
With s
.Range("x3").Value = "не готов"
End With
Next
ActiveWorkbook.Close savechanges:=True
x = x + 1
Wend
Mershik, спасибо, но я все равно не понимаю как это применить к моим листам) Я пробую по разному, но на всех листах ячейка не меняется. Плюс у у меня во всех файлах разное количество листов
Kuzmich, А можно поподробнее про цикл? Next - ни к чему не относится, я забыла удалить, после того как попробовала такой вариант:
Код
Workbooks.Open Filename:=FilesToOpen(x)
Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
ws.Range("x3").Value = "не готов"
ActiveWorkbook.Close savechanges:=True
x = x + 1
Next
Wend
Нужно с помощью макроса выбрать несколько файлов. В этих файлах на всех листах в одной ячейке х3 добавить фразу "не готов". (Это требуется для того, чтобы не открывать каждый файл в ручную, т.к. файлов много, менять нужно часто) .
Сейчас в таком виде макрос работает только для одного листа во всех файлах. Нужно, чтобы он менял ячейку на всех листах выбранных файлов, не только на одном. И еще проблема, что после работы, файл с макросом закрывается.
Не знаю, как лучше сформулировать тему. Может быть - "макрос для замены ячейки в нескольких файлах на всех листах" ?
Есть макрос, который меняет в выбираемых файлах ячейку х3. Все выбираемые файлы имеют стандартный вид, но разное количество листов. И проблема в том, что макрос работает только для одного листа плюс после работы файл с макросом закрывается.
Код
Sub Макрос1
Dim FilesToOpen
Dim x As Integer
FilesToOpen = Application.GetOpenFilename _
(FileFilter:="All files (*.*), *.*", _
MultiSelect:=True, Title:="Выберите файлы")
If TypeName(FilesToOpen) = "Boolean" Then
MsgBox "Не выбрано ни одного файла!"
GoTo ExitHandler
End If
x = 1
While x <= UBound(FilesToOpen)
Workbooks.Open Filename:=FilesToOpen(x)
sheets(1).Range("x3").Value = "не готов" 'нужно для всех листов в файле в ячейке х3 написать "не готов"
ActiveWorkbook.Close savechanges:=True
x = x + 1
Next
Wend
ExitHandler:
Application.ScreenUpdating = True
Exit Sub
ErrHandler:
MsgBox Err.Description
Resume ExitHandler
End Sub
Не получается доработать. Буду очень благодарна, если кто-нибудь поможет
Есть задача скрыть листы, у которых ячейка w3 пустая. Но сделать так, чтобы это условие распространялось на все листы кроме "Лист 1" и "Лист 2".
Код
Application.ScreenUpdating = False
Dim sh As Worksheet
For Each sh In Worksheets
If sh.Range("w3").Value = Empty Then
sh.Visible = xlSheetHidden
Else
sh.Visible = xlSheetVisible
End If
Next
Application.ScreenUpdating = True
не соображу как доработать, чтобы исключить из условия некоторые листы. Буду благодарна за помощь!
Добрый день, Подскажите, как убрать поля на листе эксель, так чтобы при сохранении в пдф отступов не было совсем? В параметрах страницы поля и колонтитулы выставила по 0, но это не помогло
Защита разными способами нескольких таблиц на одном листе, Как заблокировать на одном листе все ячейки от форматирования (изменения шрифта, заливка и т.д.) кроме нескольких.
Добрый день! Есть лист эксель. На нем две таблицы - верхняя и нижняя. Подразумевается, что таблицы будут заполняться только комментариями и числами пользователями файла. При этом размеры самих таблицы не должны меняться. Для этих целей я защитила лист и выбрала все необходимые параметры для этого.
Но появились две проблемы: - Для верхней таблицы подходит блокировка без возможности форматирования ячеек, строк и столбцов. А вот для второй нужно сделать так, чтобы в целом размер таблицы оставался неизменным, но при этом была возможность регулировать высоту ячеек внутри. - Также нужно оставить часть ячеек с возможность менять в них цвет, часть без возможности вносить изменения по формату. Но защита листа и выбранные параметры распространяются на все ячейки.
Буду очень благодарна за помощь в решении проблемы