Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Выбрать дату в календареВыбрать дату в календаре

Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 26 След.
Как имеющийся код автоматического запуска макроса перевести в "ручной режим".
 
Цитата
Пытливый написал:
Есть...
Вы не обратили внимание на Target. Там всё веселее.


Scyth, у Вас макрос срабатывает при изменении значения на листе и привязан к изменяемым ячейкам, так что помимо замечаний Пытливый,   надо немного его сократить.
Код
Sub zzz()
       Select Case range("$D$3").Value
          Case Is = 1: Macro1
          Case Is = 2: Macro2
       End Select
end sub
Изменено: Wiss - 13 Дек 2019 14:44:43
Я не волшебник, я только учусь.
Как расставить по порядку название недели в Power BI?, Названия недель "текущая неделя", "прошлая неделя", "2 недели назад" и т.д в графике разбросанны
 
Сделайте дубль столбца неделя
Удалите в нём " неделя"
Сортируйте по нему

Ну или сделайте файл-пример, чтобы можно было понять в чём я не прав, а я кажется не прав.
Изменено: Wiss - 12 Дек 2019 17:40:13
Я не волшебник, я только учусь.
Через каждые N символов поставить разелитель
 
Цитата
Wiss написал:
Положено 12 раз!
Вообще-то, по моим подсчётам автор просил 2101 заменить. +/-2
Изменено: Wiss - 12 Дек 2019 17:31:39
Я не волшебник, я только учусь.
Через каждые N символов поставить разелитель
 
Макрос. Если результат получается больше 32 тысяч символов - выдаёт ошибку
Код
Public Function mysplit(sInput As Variant, Optional ByVal delim As String = ", ") As Variant
    Dim s As String
    s = CStr(sInput)
    Dim i As Long
    
    i = 8
    Do While i < Len(s)
        s = Left(s, i) & delim & Mid(s, i + 1)
    
        i = i + 10
    Loop
    mysplit = s
End Function
Я не волшебник, я только учусь.
Через каждые N символов поставить разелитель
 
Ну, если Вам разово нужно разобрать эту строку, то можно извратиться формулой.
=ЛЕВСИМВ(B1;8*СТРОКА(A1)+2*СТРОКА(A1)-2) & ", " & ПСТР(B1;8*СТРОКА(A1)+2*СТРОКА(A1)-2+1;9999999)

Протянуть вниз, пока все разряды не поделит (2101 строка, вроде бы)
Изменено: Wiss - 12 Дек 2019 17:13:05
Я не волшебник, я только учусь.
вычислить дату дня недели
 
Без списков. Формула массива.
=A2+7-ДЕНЬНЕД(A2;2)+МАКС(СТРОКА($A$1:$A$7)*--(D2=ТЕКСТ(СТРОКА($A$1:$A$7);"дддд")))-1
А Ваш второй пример просто
=A2+7-ДЕНЬНЕД(A2;2)+ЛЕВСИМВ(D2;1)
Изменено: Wiss - 12 Дек 2019 16:57:56
Я не волшебник, я только учусь.
вычислить дату дня недели
 
=A2+7-ДЕНЬНЕД(A2;2)+ПОИСКПОЗ(D2;{"понедельник";"вторник";"среда";"четверг";"пятница";"суббота";"воскресенье"};0)
Я не волшебник, я только учусь.
Макрос объединение в строку с добавлением текущей даты
 
Ознакомьтесь с правилами форума и приложите файл-пример с тем что есть/что Вы хотите.
Я не волшебник, я только учусь.
VBA из основного листа сохранить в новую книгу с данными без формул, без макросов и без VBA
 
Цитата
RAN написал:
Mid Function
.....
Mid Statement
Ну спасибо, блин. Теперь оказывается, что в      X=mid(...) и mid(...) =x        за сочетанием букв "mid" понимаются вообще разные сущности. И как мне теперь с этим жить?!

P.S. В смысле реально спасибо и за науку и за ссылки. Схоронил.
Изменено: Wiss - 12 Дек 2019 14:20:54
Я не волшебник, я только учусь.
VBA из основного листа сохранить в новую книгу с данными без формул, без макросов и без VBA
 
Цитата
RAN написал:
Mid(sFilename, Len(sFilename), 1) = "x"
Ну сколько можно делать всякие дикие вещи, которые кардинально меняют мой взгляд на то, как работает VBA?!
Где конец этому безумию?!

Вот цитата из справки мелкософта:
Цитата
Returns a Variant (String) containing a specified number of characters from a string.
Mid возвращает строку, а не ссылку. Код Mid(sFilename, Len(sFilename), 1) = "x" не должен работать (но само-собой работает).
Изменено: Wiss - 11 Дек 2019 10:05:17
Я не волшебник, я только учусь.
Вставка значения в ячейку по условию
 
Цитата
Zetrox_95 написал:
Нужно было чтобы отображался год
В приложении 2 варианта:
- чтобы считался год (2020)
- чтобы считалась дата, но отображался год (реально 04.04.2020, но пишет только 2020)
Я не волшебник, я только учусь.
Вставка значения в ячейку по условию
 
Хм. Про файл-пример ещё забыл сказать:)
=ДАТА(ГОД(Лист1!$A$2)+1;МЕСЯЦ(Лист1!$A$2);ДЕНЬ(Лист1!$A$2))

Изменено: Wiss - 10 Дек 2019 17:35:54
Я не волшебник, я только учусь.
Вставка значения в ячейку по условию
 
Почитайте раздел правила в части ников, пока админ ещё не пришёл
Изменено: Wiss - 10 Дек 2019 17:25:18
Я не волшебник, я только учусь.
Разбить большой заголовок в одном столбце на отрезки с обрезкой по пробелам.
 
Когда отвечал файла-примера не было. Пояснил свои художества как мог.
Я не волшебник, я только учусь.
Разбить большой заголовок в одном столбце на отрезки с обрезкой по пробелам.
 
Ну, раз файла-примера нету, то формула для 3-го столбца будет:
=ЛЕВСИМВ(ПРАВСИМВ(A1;ДЛСТР(A1)-ДЛСТР(ЛЕВСИМВ(A1;МАКС(--(ПСТР(A1;СТРОКА(A$1:A$99);1)=" ")*--(СТРОКА(A$1:A$99)<=30)*СТРОКА(A$1:A$99))))-ДЛСТР(ЛЕВСИМВ(ПРАВСИМВ(A1;ДЛСТР(A1)-ДЛСТР(ЛЕВСИМВ(A1;МАКС(--(ПСТР(A1;СТРОКА(A$1:A$99);1)=" ")*--(СТРОКА(A$1:A$99)<=30)*СТРОКА(A$1:A$99)))));МАКС(--(ПСТР(ПРАВСИМВ(A1;ДЛСТР(A1)-ДЛСТР(ЛЕВСИМВ(A1;МАКС(--(ПСТР(A1;СТРОКА(A$1:A$99);1)=" ")*--(СТРОКА(A$1:A$99)<=30)*СТРОКА(A$1:A$99)))));СТРОКА(A$1:A$99);1)=" ")*--(СТРОКА(A$1:A$99)<=30)*СТРОКА(A$1:A$99)))));МАКС(--(ПСТР(ПРАВСИМВ(A1;ДЛСТР(A1)-ДЛСТР(ЛЕВСИМВ(A1;МАКС(--(ПСТР(A1;СТРОКА(A$1:A$99);1)=" ")*--(СТРОКА(A$1:A$99)<=30)*СТРОКА(A$1:A$99))))-ДЛСТР(ЛЕВСИМВ(ПРАВСИМВ(A1;ДЛСТР(A1)-ДЛСТР(ЛЕВСИМВ(A1;МАКС(--(ПСТР(A1;СТРОКА(A$1:A$99);1)=" ")*--(СТРОКА(A$1:A$99)<=30)*СТРОКА(A$1:A$99)))));МАКС(--(ПСТР(ПРАВСИМВ(A1;ДЛСТР(A1)-ДЛСТР(ЛЕВСИМВ(A1;МАКС(--(ПСТР(A1;СТРОКА(A$1:A$99);1)=" ")*--(СТРОКА(A$1:A$99)<=30)*СТРОКА(A$1:A$99)))));СТРОКА(A$1:A$99);1)=" ")*--(СТРОКА(A$1:A$99)<=30)*СТРОКА(A$1:A$99)))));СТРОКА(A$1:A$99);1)=" ")*--(СТРОКА(A$1:A$99)<=30)*СТРОКА(A$1:A$99)))
Ну да, это формула массива.
Я не волшебник, я только учусь.
Макрос для сохранения файла с заменой формул на значения
 
Код
Range("M4").Unmerge
Изменено: Wiss - 10 Дек 2019 15:37:38
Я не волшебник, я только учусь.
Автоматическое появление гиперссылок при появлении определенных файлов в папках.
 
Юрий М, Ігор Гончаренко, понял. Нашёл. Попробую вкурить.
Я не волшебник, я только учусь.
VBA из основного листа сохранить в новую книгу с данными без формул, без макросов и без VBA
 
Цитата
Application.CopyObjectsWithCells = False
Всё гениальное просто. Спасибо. Запомню. Месяц назад с такой же проблемой бился. Такого решения не видел.
Все предлагают:
1. Либо создавать новый лист и копировать ячейки + форматы.
2. Либо копировать лист и удалять кнопки и прочие объекты.
Я не волшебник, я только учусь.
Курс валют по месяцам, курс ин валюты
 
А ещё у меня родился вот такой бредовый вариант:
=МАКС(--($A$1:$A$8=E2)*$B$1:$B$8)  
Формула массива.
Я не волшебник, я только учусь.
VBA из основного листа сохранить в новую книгу с данными без формул, без макросов и без VBA
 
Банить меня нужно за такую "помощь". Мозг запудрил, а не помог. Мой макрос копирует данные с листа в новую книгу, но не сохраняет. В теории там не хватает 2-х строчек:
1. Задать нужное имя листу. ( что-то типа activeSheeet.name = thisWorkbook.activeSheet.name)
2. Сохранить (это у Вас есть).

В Вашем макросе нужно заменить в строке с SaveAs  xlWorkbookNormal на  xlWorkbookDefault и книга сохранится как xlsx. При её переоткрытии макросы пропадут.
По части кнопок посмотрите тут: https://www.planetaexcel.ru/forum/?PAGE_NAME=read&FID=1&TID=49791. Если на листе нету нужных картинок и ещё каких-нить фигур, то можно просто:
Код
Dim IShape as Sape
For Each IShape In ActiveSheet.Shapes    
      IShape.Delete
Next
Я не волшебник, я только учусь.
Автоматическое появление гиперссылок при появлении определенных файлов в папках.
 
Цитата
Ігор Гончаренко написал:
разницу улавдиваете...
Нет, потому что в моей картине мира отследить появление нового фала можно только систематическим сканированием. Другие варианты мне не известны, поэтому я о них и не думаю.
Я не волшебник, я только учусь.
VBA из основного листа сохранить в новую книгу с данными без формул, без макросов и без VBA
 
У Вас проблема в строчке
Код
Err.Clear: ActiveSheet.Copy: DoEvents
Вы копируете лист, а это происходит уже вместе с формулами. У меня есть вот такое вот решение, вроде бы работает. Жалоб не было. Нету строчки с сохранением + у листа в новой книги стандартное название.
Код
Private Sub CommandButton1_Click()
    Dim rngX As Range
    Dim wbX As Workbook
    Dim shX As Worksheet
    Dim val
    Dim zoo
    
    Application.EnableEvents = False
    
    zoo = ActiveWindow.Zoom
    
    Set rngX = ActiveSheet.UsedRange
    Set wbX = Workbooks.Add
    Set shX = wbX.ActiveSheet
    
    ActiveWindow.Zoom = zoo
    
    val = rngX.Value
    
    On Error Resume Next
    ThisWorkbook.ActiveSheet.ShowAllData
    On Error GoTo 0
    rngX.Copy
    
    shX.Paste
    shX.PasteSpecial xlPasteColumnWidths
    shX.Range(rngX.Address) = val
    Application.CutCopyMode = xlCopy
    
    wbX.Saved = True
    Application.EnableEvents = True
End Sub
Я не волшебник, я только учусь.
VBA из основного листа сохранить в новую книгу с данными без формул, без макросов и без VBA
 
А просто в xlsX сохранить нельзя? Это самый простой способ.
Я не волшебник, я только учусь.
Автоматическое появление гиперссылок при появлении определенных файлов в папках.
 
Цитата
Ігор Гончаренко написал:
необходимо другое решение данной задачи
Извините, а что с решением не так?
1. Раз в X времени сканировать папку.
2. Сравнивать с предыдущим состоянием (проверять появились ли новые файлы, соответствующие критериям поиска).
3. Информировать, если появились новые нужные файлы.
4. Сохранять текущий список нужных файлов.
5. Повторить с пункта 1.
Вроде бы всё реализуемо.
Я не волшебник, я только учусь.
Суммирование приращений чисел, находящихся в одной строке
 
В C11. Если нужно будет куда-то перенести, то придётся перемещать ячейку C11 (верхний-левый угол таблицы).
Сделал вариант, который считает место в диапазоне ссылкой на первый лист, а не на C11 (его переносить проще).
=ЕСЛИ(СТОЛБЕЦ(Исх!$C$8)-СТОЛБЕЦ(Исх!C8)-(СТРОКА(Исх!$C$8)-СТРОКА(Исх!C8))<-$C$5;0;ЕСЛИ(СТРОКА(Исх!$C$8)-СТРОКА(Исх!C8)<СТОЛБЕЦ(Исх!$C$8)-СТОЛБЕЦ(Исх!C8);0;СМЕЩ(Исх!$C$8;0;СТРОКА(Исх!C8)-СТРОКА(Исх!$C$8))))*$D$5^-(СТОЛБЕЦ(Исх!$C$8)-СТОЛБЕЦ(Исх!C8)-(СТРОКА(Исх!$C$8)-СТРОКА(Исх!C8)))
Изменено: Wiss - 9 Дек 2019 16:34:45
Я не волшебник, я только учусь.
Суммирование приращений чисел, находящихся в одной строке
 
Нда, а задачка-то Ваша мне не по зубам, но кое-что сделать получилось. У меня получилось нарисовать формулу, которая формирует Вашу таблицу "процесс приращения". Не вручную вставленные цифры и ячейки зависящие от соседней, а значения, считаемые напрямую из первого листа + констант в ячейках C5 и D5. Но вот запихнуть всё это в массив и сложить, чтобы получить одну строку как-то не получается :(((

=ЕСЛИ(СТОЛБЕЦ($C$11)-СТОЛБЕЦ(C11)-(СТРОКА($C$11)-СТРОКА(C11))<-$C$5;0;ЕСЛИ(СТРОКА($C$11)-СТРОКА(C11)<СТОЛБЕЦ($C$11)-СТОЛБЕЦ(C11);0;СМЕЩ(Исх!$C$8;0;СТРОКА(C11)-СТРОКА($C$11))))*$D$5^-(СТОЛБЕЦ($C$11)-СТОЛБЕЦ(C11)-(СТРОКА($C$11)-СТРОКА(C11)))
Я не волшебник, я только учусь.
Суммирование приращений чисел, находящихся в одной строке
 
Вот формула ответ: =C9*$D$5^МИН(СТОЛБЕЦ()-СТОЛБЕЦ(C9);$C$5)
Формула совсем кривая. Не имеет никакого отношения к поставленной задаче.

Вопрос с тем, почему так странно ведёт себя Ваша формула у меня остался. Есть, конечно, догадка что там как-то начало и конец диапазона запутались из-за того, что диапазон это одна ячейка, но всё-таки пока никаких идей нет по проверке.
Изменено: Wiss - 9 Дек 2019 14:47:58
Я не волшебник, я только учусь.
Суммирование приращений чисел, находящихся в одной строке
 
У меня тоже есть вопрос по данной теме: на листе2, если скопировать формулу из ячейки D11 в ячейку E11, то меняется отностиельная/абсолютная адресация. Это как так вообще? В первый раз такое вижу....
=ЕСЛИ($C$5>=СТОЛБЕЦ()-СТОЛБЕЦ(D$11:$D11)+1;Исх!$C$8)*$D$5^(СТОЛБЕЦ()-СТОЛБЕЦ($D$11:E11)+1)
=ЕСЛИ($C$5>=СТОЛБЕЦ()-СТОЛБЕЦ($D$11:E11)+1;Исх!$C$8)*$D$5^(СТОЛБЕЦ()-СТОЛБЕЦ($D$11:F11)+1)
Вторая строчка это формула из первой, скопированная в соседний столбец.
Вот поэтому формулы и не пашут. Только как так-то?!
Изменено: Wiss - 9 Дек 2019 14:01:52
Я не волшебник, я только учусь.
Перенос данных из столбцов в строки
 
Поправка:
5. Выделил все столбцы, кроме Номенклатуры и Улицы и отменил свёртывание.
6. Выделил столбец  Значения (который из прошлого пункта появился и нажал "Столбец сведения" в качестве столбца значений выбрал Номенклатуру

Ну и вообще, обновите PQ и посмотрите, что там происходит пошагово. Я же только учусь, поэтому у меня там всё руками сделано и разбито на шаги, а не какая-нить дикая однострочная формула.
Изменено: Wiss - 9 Дек 2019 10:50:32
Я не волшебник, я только учусь.
Перенос данных из столбцов в строки
 
Цитата
ArgentumTiger_7 написал:
в двух словах объясните, пожалуйста
Ну во-первых, могу посоветовать книгу автора сайта по PQ. Сам сейчас по ней учусь. Там подобные таблицы рассматриваются.
Если PQ всё-таки откроется, то там всё видно:
1. Заполнил вниз первый столбец (чтобы во второй строчке тоже написало "Номенклатура").
2. Транспонировал таблицу.
3. Заполнил вниз первый столбец (улицы).
потом пробовал транспонировать обратно, но это было ошибкой
4. Повысил первую строку в заголовки
5. Отменил свёртывание столбцов
Готово.
Изменено: Wiss - 9 Дек 2019 10:16:39
Я не волшебник, я только учусь.
Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 26 След.
Наверх