На листе между некоторыми ячейками проведены линиями. Как заставить макрос выполнять следующие операции? : Если выделить желтую ячейку и щелкнуть по линии - то перенесешься в синюю ячейку (в которой находится один из концов этой линии). А если выделить синюю ячейку и щелкнуть на линию - то перенесешься в желтую ячейку (в которой находится один из концов этой линии).
Есть следующий макрос, он чем-то похож и может пригодится:
Код
Sub Макрос1()
Dim adr$
For Each Sh In ActiveSheet.Shapes
If Sh.TopLeftCell.Column >= 28 And Sh.BottomRightCell.Column <= 30 Then
If Sh.VerticalFlip Then
adr = Sh.TopLeftCell.Offset(, Sh.BottomRightCell.Column - Sh.TopLeftCell.Column + 1).Address
Else
adr = Sh.BottomRightCell.Offset(, 1).Address
End If
ActiveSheet.Hyperlinks.Add Anchor:=Sh, Address:=""
Sh.Hyperlink.SubAddress = ActiveSheet.Name & "!" & adr
End If
Next
End Sub
В диапазоне - есть несколько разноцветных ячеек. Макрос - подкрашивает некоторые из ячеек этого диапазона - в зеленый цвет (Interior.ColorIndex = 4). Но проблема в том, что перед этим - он удаляет все другие цвета, которые в этом диапазоне имеются.
Подскажите - как сделать так, чтобы перед подкрашиванием зеленым цветом - из диапазона удалялись бы не все цвета (как сейчас), а только этой зеленый цвет (Interior.ColorIndex = 4) ? То есть макрос - перед тем, как окрасить ячейки в зеленый цвет - предварительно весь предыдущий такой же зеленый текст удалит - и только потом покрасит ячейки заново.
У меня есть макрос, который рисует для ломаной линии - концентрическую внутреннюю линию. (То есть линию - параллельную ломаной с отступом внутрь на 5 единиц)
Как изменить макрос, чтобы он дополнительно рисовал такую же концентрическую линию, но направленную вовне на те же 5 единиц ? Вообще макрос сейчас рисует иногда внутренние концентрические линии, а иногда - внешние. Поэтому и задаю вопрос - как одновременно нарисовать и внешние и внутренние.
Здравствуйте, форумчане. Помогите разобраться с непростым вопросом.
Макрос рисует параллельную линию, но в конце - замыкает ее, так что получается контур. В результате - получается не полное подобие. И кроме того - Начало и конец рисуемой линии - более удлинены, по сравнению с оригиналом. Отрезки должны быть - одинаковыми по длине.
Как поправить макрос, чтобы рисуемая линия не замыкалась и чтобы все отрезки - рисуемой линии по длине совпадали бы с оригиналом ?
У меня есть макрос, переносящий текст из txt-файла в xls (причем раскидывает его по листам, которые имеют такие же названия как и текстовые файлы) Но он почему-то его переносит вот в такой странной кодировке, которую невозможно читать.
Скажите, как поменять макрос, чтобы он переносил текст из txt - в xls - в нормальном, читаемом виде.
В два разных txt файла - построчно записан текст с датой. В том же каталоге - находится xls файл.
Как макросом - автоматически извлечь данные из всех txt файлов, что лежат с ним рядом в папке - и записать эти данные в последнюю заполненную ячейку столбцов - одноименных листов, затем сохранить книгу и очистить содержимое текстовых файлов ?
То есть и название файла txt и название листа в книге - одинаковы.
Есть вот такие коды (их наверное как-то можно применить):
Код
Public Function FileDialog_(ByVal Path As String, _
Optional MultiSelect As Boolean = True, _
Optional Expansion As String = "*.xlsm;*.xlsb;*.xlsx") As Variant
Dim oFd As FileDialog
Dim s() As Variant
Dim lf As Long
Set oFd = Application.FileDialog(msoFileDialogFilePicker)
With oFd 'используем короткое обращение к объекту
.AllowMultiSelect = MultiSelect
.Title = "Выбрать файлы:" 'заголовок окна диалога
.Filters.Clear 'очищаем установленные ранее типы файлов
.Filters.Add "Microsoft Excel Files", Expansion, 1 'устанавливаем возможность выбора только файлов Excel
.InitialFileName = Path 'назначаем папку отображения и имя файла по умолчанию
.InitialView = msoFileDialogViewDetails 'вид диалогового окна(доступно 9 вариантов)
If .Show = 0 Then
Call MsgBox("Не выбрано ни одного файла!", vbInformation, "Выбор файлов:")
Exit Function 'показывает диалог
End If
ReDim Preserve s(1 To .SelectedItems.Count)
For lf = 1 To .SelectedItems.Count
s(lf) = CStr(.SelectedItems.Item(lf)) 'считываем полный путь к файлу
Next
End With
FileDialog_ = s
End Function
Private Function ReadTXTfile(ByVal FileName As String) As String Dim FSO As Object
Dim ts As Object
Set FSO = CreateObject("scripting.filesystemobject")
Set ts = FSO.OpenTextFile(FileName, 1, True): ReadTXTfile = ts.ReadAll: ts.Close
Set ts = Nothing: Set FSO = Nothing
End Function
Добрый день. Подскажите как макросом соединить ячейки в столбцах - стрелками по адресам из столбцов ?
Первый столбец E:F- основной. В столбце E - записаны числовые значения. В столбце F - записан адрес второго столбца, к которому нужно провести стрелку. Во втором столбце I:K - тоже есть адрес, но уже третьего столбца - к которому нужно провести стрелку (от второго столбца к третьему).
Эти стрелки - разной толщины, в зависимости от того - какого размера число из столбца I по сравнению с другими числами. Если это самое большое число - то толщина = 4,5. А если число из столбца I - самое маленькое, то линия - самая тонкая = 0,25
То есть получается, что макросов нужно два: Первый протягивает стрелки от первого столбца - ко второму. А второй макрос - протягивает стрелки от второго столбца к третьему.
Помогите решить вопрос. Есть необходимость очистить диапазон G5:N16 - от содержимого, не трогая форматирование. Но так, чтобы не затрагивать содержимое красных ячеек (Interior.Color = 255).
Как изменить этот макрос, чтобы ячейки с красным цветом не затрагивались.
Скажите - как макросом определить названия линий между объектами и поместить их в столбец D (как показано в файле)? По условию - между объектами может быть не больше одной линии.
В книге находится картинка "Рисунок 1". И заданы два параметра - которые являются как бы относительными координатами, описывающими положение точки на картинке.
В ячейке E4 - стоит относительная координата Х - 0,5 (то есть - это 50% по ширине картинки от левого края). В ячейке F4 - стоит относительная координата Y - 0,25 (то есть - это 25% по высоте картинки от верхнего края).
Как макросом посчитать общие координаты этой точки - относительно листа и вписать получившиеся координаты в E8 и F8 ? Исходные данные здесь - это название рисунка ("Рисунок 1") и относительные координаты E4 и F4.
Здравствуйте. В экселе не ставятся относительные ссылки в условном форматировании - для гистограмм.
Сейчас у меня действует УФ с гистограммой - в ячейке P11. Все обозначения в формуле этой ячейки - абсолютные (а сделать их относительными - эксель не дает). Формула УФ - использует данные из столбцов P и I.
Посоветуйте - как макросом, с использованием события WorksheetCalculate - протянуть эту формулу вниз - по столбцу P, расставив условное форматирование с измененными формулами ?
То есть, если уж эксель не дает использовать относительные ссылки для УФ гистограмм - то может быть это макросом можно как-то сделать. (В таком случае - макрос расставит ссылки - на соответствующие ячейки, а потом сделает их - абсолютными, чтобы не противоречить правилам экселя.)
Ответьте если кто разбирается в этой непростой проблеме. Как макросом - определить границы видимой части листа, исключая закрепленную область - занеся параметры границ в ячейки G1,G2,J1,J2 ?
В ячейках G1,G2 - по идее должны отобразится номера строк (которые являются крайними границами видимой области - по вертикали). В ячейках J1,J2 - номера столбцов (которые являются крайними границами видимой области - по горизонтали).