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

Страницы: 1 2 След.
Не переносится ширина столбцов таблицы при копировании диапазона.
 
Цитата
написал:
Могу предположить, что изначально файл формировался не в MS Excel.
Именно так, это выгрузка из какой-то системы.
Спасибо за ответ, буду думать что с этим делать
Не переносится ширина столбцов таблицы при копировании диапазона.
 
Цитата
написал:
тогда проблема в офисе или в буфере обмена
Сомневаюсь, потому что:
1. Пробовал на другом пк (win);
2. Пробовал на mac os
Проблема остается :)
В других файлах проблемы нет, поэтому, предполагаю, что беда именно в файле
Изменено: crjk - 26.09.2024 20:17:54
Не переносится ширина столбцов таблицы при копировании диапазона.
 
Файл приложен, у вас нет такой проблемы с данным файлом?
Или вы не пробовали его открывать?
Не переносится ширина столбцов таблицы при копировании диапазона.
 
Цитата
написал:
Потому что Cells без явного указания листа будет ссылаться именно на активный лист.
Проблема не в этом, потому что данные и формат переносятся, а ширина столбцов нет.
Плюс, при копировании руками (без использования макросов) та же проблема
Не переносится ширина столбцов таблицы при копировании диапазона.
 
Есть файл с таблицами и текстовыми данными.
Проблема в том, что если я копирую данные на другой лист/другую книгу, данные переносятся, но без ширины столбцов.
Пробовал:
Ctrl+C  -> Ctrl + V
Ctrl+c -> Специальная вставка -> Копировать ширину столбцов
Макросом:
Код
    dataWs.Range(Cells(1, 1), Cells(lR, lC)).Copy
    ws.Activate
    With ws.Cells(1, 1)
        .PasteSpecial xlPasteColumnWidths
        .PasteSpecial xlPasteValues
        .PasteSpecial xlPasteFormats
    End With

Данные из файла удалил, вписал рандомные числа, прикрепил к теме.
Есть идеи, как решить проблему?
Спасибо.
Из Word в Outlook (VBA), Копирование с сохранением форматирования.
 
Необходимо скопировать текст из Ворда в Outlook, сохраняя форматирование
Нагугли нечто вроде:
Код
Sub CopyBodyFromWord()

    Dim oOutApp As Object
    Dim oMailItem As Object
    Dim oWordApp As Object
    Dim oWordDoc As Object
    Dim oMailWordDoc As Object
    
    On Error GoTo CleanUp
    
    Set oWordApp = CreateObject("Word.Application")
    oWordApp.Visible = True

    Set oWordDoc = oWordApp.Documents.Open("C:\template.docx", False, True)
    
    oWordDoc.Content.Copy
    
    Set oOutApp = CreateObject("Outlook.Application")
    Set oMailItem = oOutApp.CreateItem(0)
    
    With oMailItem
        .To = "xxx@yyy.com"
        .Subject = "This email contains Word-formatted text"
        .Body = "obrashenie"
        .Display
    End With
    
    Set oMailWordDoc = oOutApp.ActiveInspector.WordEditor
    
    oMailItem.Application.Selection.Paste
     
CleanUp:
    oWordApp.Quit
    Set oMailWordDoc = Nothing
    Set oMailItem = Nothing
    Set oOutApp = Nothing
    Set oWordDoc = Nothing
    Set oWordApp = Nothing

End Sub

Но валится на шаге:
Set oMailWordDoc = oOutApp.ActiveInspector.WordEditor
Может у кого есть советы или наработки как скопировать текст из ворда в outlook?

Спасибо

Обход ориентированного графа (с циклами).
 
Есть механизм обхода графа с циклами, с условием, что прохождение циклов не более 1 раза.
Прописано это в этой строке
Код
    For i = 1 To N_NODES
         If visited(i) <= 1 And edges(node, i) = 1 Then
            VisitForTreeAndCirclesStructure i, visited, edges, Noda, stack
        End If
    Next
В файле 2 листа (для каждого из них сделал свой модуль для удобства запуска, модули идентичные).
При обработке Sheet2 я получаю следующие цепочки:
1->2->3->4->3->4->5
1->2->3->4->3->4->5->6
Т.е. точка 3 посещается большее число раз чем положено.
На листе Sheet1 такой проблемы нет.

Добавлю, что результат выводится в Immediate окно.
Может быть кто подскажет, что необходимо добавить, чтобы цепочки с форматом 3-4-3-4 не попадали в результат.
Файл прилагаю.
Спасибо.
Все возможные варианты набора цифр (комбинаторика).
 
Цитата
Дмитрий(The_Prist) Щербаков написал:
бесконечный список вариантов будет, ибо не указан предел по кол-ву повторений каждой цифры в итоговом значении.
"встречающихся от 0 до 2 раз"
Вот это разве не оно? Или я что-то забыл и не учел?
Все возможные варианты набора цифр (комбинаторика).
 
Добрый день.
Есть набор цифр(допустим 1,2,3).
Нужно получить все варианты строк состоящих из этих цифр, встречающихся от 0 до 2 раз, например:
1
2
3
11
22
33
1233
12233
1223
112233
и тд.
Не пойму как подступиться к этой задаче.
Необходимо реализовать это на VBA
Может подскажете в какую сторону копать.
Спасибо.
Изменено: crjk - 27.10.2021 18:03:55
Быстродейственный аналог Sumifs в VBA.
 
Я пока поперевариваю полученную информацию, может правда попробую оставить через сводную.
Спасибо за помощь!
Быстродейственный аналог Sumifs в VBA.
 
Выше привел пример со складом, правильно ли я понимаю, что если мне надо собрать информацию по складу 1, то я могу это сделать только через фильтр сводной таблицы и для склада 2+3 мне надо будет изменить фильтр (а соответственно и таблица изменится, и слетят мои Sumifs По складу 1). Или возможно как-то построить таблицу, чтобы обойтись без фильтра?
Быстродейственный аналог Sumifs в VBA.
 
Да, через сводную это сейчас и сделано, но есть некоторые нюансы, по которым есть желание от нее отказаться, поэтому и пытаюсь найти другое решение.
Например, если добавить аналитику Склад в таблицу 2 и в таблицу 1 тянуть значения только по складу 1 и 3? В такой ситуации как построить сводную таблицу?
Изменено: crjk - 10.02.2021 14:35:22
Быстродейственный аналог Sumifs в VBA.
 
Что конкретно непонятно?
1. Есть таблица (в примере Sheet1), в ней ключи (колонка А);
2. По этим ключам надо получить полную сумму с листа Sheet2 колонка B.

Затем произвести пункт 2 по другим столбцам с другими критериями.
Прикладываю еще один пример, лист Sheet3
Желтым выделил таблицу с результатом, которую необходимо получить. В примере сделал на формулах, но формулах это получить в рабочем файле (табл. 1  около 20к строк, табл. 2 около 60к строк) очень долго и неудобно, необходимо сделать с помощью макроса).
Быстродейственный аналог Sumifs в VBA.
 
Цитата
Jack Famous написал: макросом - так просто вычисляйте да вставляйте, когда надо. Хоть через штатные функции листа, как у вас
К сожалению, это получается очень долго. На один столбец уходит более 2х минут, а их более 20.

Цитата
Е...ускорить можно только храня один из словарей с данными в памяти
Мне нужна не функция, мне нужен результат (с помощью макросов), который выполнит сие действие наиболее быстрым путем и вставит нужные значения (не формулы) :( К сожалению, мой путь слишком времязатратный, ищу путь быстрее...
Быстродейственный аналог Sumifs в VBA.
 
Сделал наглядный тестовый пример.
Но тут скорее вопрос именно в подходе, как лучше это сделать.
В реальности надо заполнить 20 таких столбцов по схожему механизму (но с разными условиями).
Файл с 20к строками не прикрепился (ограничение 100кб).
Поэтому прикрепляю сильно урезанную версию
Если на Sheet1 сделать 20к строк, а на листе Sheet2 60к строк, то время обработки макроса (код в примере), получается более минуты.
Изменено: crjk - 10.02.2021 14:05:20
Быстродейственный аналог Sumifs в VBA.
 
Добрый день.
Есть таблица (табл.1) ~20к строк, где каждую строку необходимо сделать SUMIFS из таблицы (табл. 2) в ~70к строк по двум критериям.
Таких SUMIFS будет около 20 (т.е. в 20 столбцов каждой строки табл.1 нужно сделать sumifs из табл. 2)
Пытаюсь придумать наиболее производительный вариант.
Сейчас пробую сделать просто через
Код
    For i = 0 To 22417
    DoEvents
        arr(i) = WorksheetFunction.SumIfs(Worksheets("2").Range("K:K"), Worksheets("2").Range("I:I"), _
            Worksheets("1").Cells(i + 10, 4).Value)
    Next
'Вставляем массив одним действием в табл.1
[К сожалению, на один столбец уходит порядка 2 минут. Возникает вопрос, есть ли какой-то более удобный/оптимизированный вариант?

Спасибо
Автоматизация заполнения Шаблона Word данными из Excel
 
Я не ходил за заказами, предложил просто показать (не за деньги и открыто в ветке) свой код, может быть это бы помогло автору, если у него есть некоторые познания в vba.
Настройки полей (fields) в Worde.
 
С "Работой" ошибся, да.
В следующий раз воспользуюсь "Курилкой", спасибо.
Настройки полей (fields) в Worde.
 
Юрий, в 9 сообщении есть ответ.
Настройки полей (fields) в Worde.
 
Просто выделить букву R в коде редактирования поля и назначить на нее нужный шрифт/выделения/размер
Настройки полей (fields) в Worde.
 
Цитата
Михаил Лебедев написал:
Костыль нашел такой. Если между словами вместо пробела ставить неразрывный пробел (Shift+Ctrl+пробел) - формат не слетает
Не совсем применимо это, потому что закладки тянутся у меня из эксель файла, где свои форматы :)
Там выше я написал решение, если вы не заметили.
Настройки полей (fields) в Worde.
 
Проблема решена на иностранном форуме, необходимо было заменить
Код
{ REF ИмяЗакладки \h \* MERGEFORMAT }   

на

Код
{ REF ИмяЗакладки \h \* CHARFORMAT}

Сделав первую букву R в REF нужного формата.

Спасибо Михаилу за участие.

Изменено: crjk - 22.09.2020 12:41:39
Настройки полей (fields) в Worde.
 
Цитата
Михаил Лебедев написал:
Ворд и Ексель. Какая связь?
Не хотелось бы вступать в полемику, часто читаю данный форум и тут бывают вопросы и по другим продуктам MS. Если модераторы сочтут необходимым удалить/убрать пост, их право.

Спасибо за файл.
Не могли бы вы объяснить что сделали и показать вариант "до обновления", чтобы я мог попробовать обновить у себя?
Настройки полей (fields) в Worde.
 
Цитата
Михаил Лебедев написал:
PSВы знаете, что находитесь в платном разделе "Работа" форума?
Извиняюсь, перепутал раздел, если возможно, модераторы перенесите, пожалуйста, тему в "Вопросы по Microsoft Excel".
Цитата
Михаил Лебедев написал:
Тогда сделайте файл-пример более приближенный к реальному документу.
Думаю, перезаливать файл не буду, уже обозначили что выделить весь текст и сделать в нем шрифт/размер нет возможности.
Настройки полей (fields) в Worde.
 
Так у меня в документе разный шрифт и размер встречается. Мне нужно чтобы шрифт и размер в перекрестной ссылке был такой же, как и в том месте, где она расположена. А она изначальное такого шрифта и есть (как видно в примере), но после обновления полей у второго слова этот шрифт и размер слетает.
Настройки полей (fields) в Worde.
 
Сделал тестовый файл.
Если нажать Ctrl+A и F9 (обновить поля), то увидите проблему.
Стиль отображения полей (код или текст) меняется Alt+F9, если что :)
Спасибо.
Изменено: crjk - 22.09.2020 12:09:09
Настройки полей (fields) в Worde.
 
Добрый день.
Есть вордовский документ с закладками (bookmarks), на эти закладки ведут перекрестные ссылки (cross-ref).
Проблема в том, что данные в полях этих перекрестных ссылок отображаются в разном формате.
Т.е. например, у меня в форматировании ворда поле настроено как Arial 10, но при обновлении поля (F9, чтобы туда встал текст из закладки. Предположим, у меня в закладке написано "Тестовое выражение") у меня слово Тестовое пишется Arial 10, а слово Выражение пишется Times New Roman 9. Предполагаю, что как-то неверна задана настройка поля. Прошу помочь, может кто-то сталкивался.
Вот код моего поля:
{ REF ИмяЗакладки \h \* MERGEFORMAT }

Спасибо
Обновление перекрестных ссылок на Закладку с помощью VBA.
 
Нашел решение таким способом:
Код
Dim BMRange As Range
'Identify current Bookmark range and insert text
Set BMRange = ActiveDocument.Bookmarks("MyBookmark").Range
BMRange.Text = "Hello world"
'Re-insert the bookmark
ActiveDocument.Bookmarks.Add "MyBookmark", BMRange
Обновление перекрестных ссылок на Закладку с помощью VBA.
 
Добрый день, есть задача сформировать документ Word из файла Excel.
У меня есть рыба документа Word, в которой я сделал закладки (bookmarks), например [Name].
Так вот этот Name должен встречаться в word-документе несколько раз, поэтому я сделал перекрестные ссылки на него, с помощью Cross-Reference.
Затем я обновляю поля bookmarks с помощью:
Код
wd.Bookmarks.Item(markName).Range.Text = x
После этого, как я понимаю, закладки из документа убираются, в результате слетают ссылки Cross-Reference и после нажатия ctrl+A - F9 или wd.Fields.Update у меня вместо нужного Name остается Error! Reference
source not found.

Как лучше провернуть подобную операцию, чтобы все сработало?
Спасибо.
Изменено: crjk - 15.09.2020 10:53:37
Быстрая конвертация суммы 8 100,00 в числовой формат
 
Код
=ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1;" ";"");",";".")*1

Первое что пришло в голову
Страницы: 1 2 След.
Наверх