Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Имя пользователя в ячейке
 
Homavi, Посмотри вот так. Выделяем любые ячейки в пределах одного столбца и запускаем
Код
Sub Login()
Dim cl As Range
With Selection
    For Each cl In .Cells
        If Cells(cl.Cells.Row, "A") <> "" Then
        cl = Environ("UserName")
        End If
    Next
End With
End Sub
Изменено: serjloskut - 21.09.2017 08:05:56
Имя пользователя в ячейке
 
Можно создать пользовательскую функцию
Код
Public Function ИМЯПОЛЬЗОВАТЕЛЯ() As String
ИМЯПОЛЬЗОВАТЕЛЯ = Environ("UserName")
End Function
Ну а потом ввести в ячейке
Код
=ИМЯПОЛЬЗОВАТЕЛЯ()
и растягиваем в любую сторону

P.S. Правда я не до конца понял, какую роль играет столбец А в вопросе?
Изменено: serjloskut - 21.09.2017 04:08:48
Прибавление числа к диапазону
 
Спасибо большое.
Прибавление числа к диапазону
 
Если немного, то может переделаете?)
Прибавление числа к диапазону
 
Ок. Немного неудобно и странно, что преобразовываем диапазон из двух столбцов, а выделяем - один. Придется пометку себе делать. Что выделять надо один столбец, а то прибавит первое слагаемое к двум столбцам.
Но все равно, спасибо)
Удалить формулы округления
 
Equio, помогло. Спасибо.
Прибавление числа к диапазону
 
Юрий М, да. Все верно. Но этот код подходит только для диапазона, представленного в примере. В реальности этот диапазон желательно указывать выделением. Собственно из-за этого и создал эту тему, чтобы диапазон был "не постоянным", а указывался перед выполнением макроса.
Прибавление числа к диапазону
 
Имеется диапазон, а точнее два столбца с числовыми данными. Необходимо прибавить к каждому столбцу определенное число. Для каждого столбца это число разное. Числа могут быть как положительные, так и отрицательные. В примере для первого столбца это +1000, для второго -1000. При выполнении макроса необходимо ввести данные в окно ввода. Т.к. с userform это долго, мучительно (не научился работать еще с ними), предлагаю сделать 2 последовательных InputBox. Может кто нибудь реализовать?
Изменено: serjloskut - 17.09.2017 04:06:00
Удалить формулы округления
 
Хм. При добавлении в код
Код
If cl.Formula Like "ROUND*" Then
...
End If
макрос перестает работать. Ошибок не выдает, но и округление не удаляет.
Удалить формулы округления
 
Цитата
Sanja написал:
On Error Resume Next.
В некоторых случаях не подойдет наверное.
Цитата
Sanja написал:
добавить проверку на наличие ROUND
Да, думаю этот вариант будет подходящим.
Спасибо.
Удалить формулы округления
 
Судя по коду, даже если формул округления нет в выбранных ячейках, то макрос удаляет последние 3 символа в формуле. Можно как то предотвратить ненужное удаление последних 3-х символов?
Удалить формулы округления
 

Здравствуйте. Как добавить с помощью макроса в выбранный диапазон ячеек, содержащий формулы, формулы округления разобрался. Но теперь не могу придумать как удалить из выбранного диапазона формулы с округлением, но так, чтобы остальные формулы остались. пример во вложении.

Площадь многоугольника. пользовательская функция
 
Все разобрался. Нужно было создавать модуль для польз.функции не в личной книге макросов, а непосредственно в книге. Поэтому и не было модулей в надстройке. Большое спасибо за помощь.
Изменено: serjloskut - 10.09.2017 11:35:14
Площадь многоугольника. пользовательская функция
 
Вроде так и делал. ВОт по пунктам мои действия.
1. Сначала создал польз.функцию в личной книге макросов.
2. Сохраняем книгу: Файл - Сохранить как - Надстройка Excel (*.xlam)
3. Подключаем надстройку. Файл - Параметры - Надстройки. В управлении выбираем "Надстройки Excel", нажимаем перейти. Далее Обзор - Выбираем файл надстройки. Ставим галочку если не стоит. Жмем Ок. Закрываем Эксель.

Теперь когда открываю другую книгу (по идее) можно просто прописать
Код
=PlMnUg(A2:B25)
...но выдает ошибку. Работает только
Код
=PERSONAL.XLSB!PlMnUg(A2:B25)
Все правильно делаю? Такое ощущение, что где то какой то нюанс есть.
Площадь многоугольника. пользовательская функция
 
Да, подключал. Все делал как Вы написали. Но при открытии какой-нибудь другой книги, эта функция остается недоступной. И приходится писать
Код
=PERSONAL.XLSB!PlMnUg(A2:B25)
В параметры заходил и проверял, подключена ли. Все ок, галочка напротив стоит. При запуске эксель загружает надстройку. Но если перейти в редактор VBA, то в этой надстройке нет модулей.

В том то и дело, что используется и в других книгах.
Изменено: serjloskut - 10.09.2017 11:20:41
Площадь многоугольника. пользовательская функция
 
Спасибо. Помогло.
Цитата
vikttur написал: Перенесите ее в общий модуль рабочей книги.
А вот с этим возникли проблемы. Не пойму как. Пробовал сохранить как надстройку, но все равно недоступна функция.
Площадь многоугольника. пользовательская функция
 
И еще сразу вопрос. Можно как то сделать, чтобы функцию можно было вызывать не
Код
=PERSONAL.XLSB!PlMnUg(A2:B25)
а вот так?
Код
=PlMnUg(A2:B25)
Площадь многоугольника. пользовательская функция
 
Здравствуйте. Есть координаты вершин замкнутой фигуры (столбцы А и В). необходимо узнать ее площадь по формуле площади Гаусса. В ячейке В28 рузультат полученный с помощью пользовательской функции:
Код
Function PlMnUg(xy As Range) As Single
  Dim r As Long, s As Single
  ''s = 0
  With xy
    For r = 1 To .Rows.Count - 1
      s = s + (.Cells(r, 1) * .Cells(r + 1, 2) / 2 - .Cells(r + 1, 1) * .Cells(r, 2) / 2)
    Next
  End With
  PlMnUg = Abs(s)
End Function
В ячейке С26 та же площадь, но вычисленная с помощью промежуточного столбца С. Результаты разные. Не могу понять почему. Может кто нибудь помочь?
Сверка данных с разных листов
 
Потрясающе. Большое спасибо.
Сверка данных с разных листов
 

Здравствуйте товарищи. Есть вот такая задача.

1.      Исходные данные

Лист1 – данные, которые необходимо проверить. Представляет собой таблицу с числовыми значениями. Некоторые ячейки пустые.

Лист2 – лист4. Таблицы с числовыми значениями. Некоторые ячейки пустые. В некоторых ячейках текст. Некоторые ячейки могут быть объединены.

2.      Задача. Сверить значения из Лист1 со значениями Лист2-Лист4. Но при этом каждая строка проверяется только на определенном листе (написано в примечании). Т.е. не во всей книге. Например. Если значение с Листа1 найдено на Листе2, то эта ячейка окрашивается в зеленый цвет, если не найдено – то в красный. Если ячейка пустая, то ничего не делается.

3.      Таблица на листе 1 может содержать как 10 строк, так и 50. И желательно настройку каждой строки (на каком листе необходимо проверять) можно было отредактировать в исходном коде макроса.

Пример во вложении. Если задача непонятна, то задавайте вопросы. Отвечу.

Страницы: 1
Наверх