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

Страницы: 1
Некорректно происходит вставка диапазона данных из Excel в Word
 
Добрый день.

Суть проблемы такова. В эксель поступают данные. Определенным образом они перевариваются посредством макроса. В результате получаем таблицу Nx9 (N число строк, 9 - количество столбцов).
Далее эти данные должны быть отправлены (средствами VBA) в шаблон Word, в котором уже имеется пустая таблица (размер Nx9) с нужным оформлением.

Вставка данных происходит через "Специальная вставка" -> "Объединить в таблицу"

код для отправки в ворд
Код
Sub EnterDataToWord()
Dim LustRow As Integer, LustColumn As Integer
    
    LustRow = Cells(Rows.Count, 2).End(xlUp).Row
    LustColumn = Cells(2, Columns.Count).End(xlToLeft).Column
    Call WorkWithWord(LustRow, LustColumn)
   
End Sub

Function WorkWithWord(LustRow As Integer, LustColumn As Integer)
Dim File As String
Dim WordApp As Word.Application, WordDoc As Word.Document

File = "Y:\ÐÅÑÓÐÑÛ\ØÀÁËÎÍÛ\Øàáëîí Excel Word\Øàáëîí-Ñïåöèôèêàöèÿ (2015-02-06)2.dotm"
    Set WordApp = CreateObject("Word.Application")
    WordApp.Visible = True
    Set WordDoc = WordApp.Documents.Open(File)
        
        ActiveWorkbook.ActiveSheet.Range(Cells(3, 1), Cells(LustRow, LustColumn)).Copy
        WordDoc.Activate
        WordDoc.Tables(1).Rows(2).Range.Cells(1).Range.Select
        WordDoc.Tables(1).Cell(2, 1).Range.Select
        
        WordDoc.Range(WordDoc.Tables(1).Cell(2, 1).Range.Start, WordDoc.Tables(1).Cell(2, 1).Range.End).PasteAppendTable
        
    Application.CutCopyMode = False
    WordApp.Quit
    Set WordDoc = Nothing
    Set WordApp = Nothing
    
End Function

вставляет так, как на прикрепленном изображении.
С чем может быть связанна данная проблема?
Скрытый текст
Создание условного форматирования, Через VBA
 
Доброго всем дня!

Возник такой вопрос. Как с помощью VBA создавать свои правила "условного форматирования".
Авторекодер молчит.
Изменено: Kuvon - 03.04.2017 14:51:12
Функция пользователя для выбора даты: проблема с выводом результата работы
 
На форуме много читал про пересчет формул, но нужного не нашел (включение автоматического пересчета не помогает, также, как и Volatile).
К сути проблемы.
Код
Function MinData(rng As Range, nomb As Integer) As Date

    Dim arr
    Dim j, h As Integer
    Dim rez As Date
    
    arr = rng.Count
    myRow = ActiveCell.Row
        For j = 23 To arr
            myVal = Cells(myRow, j).Value
                If myVal > 0 Then
                    rez = Cells(nomb, j).Value
                    Exit For
                Else
                    rez = 0
                End If
        Next
MinData = rez
End Function

Представленная функция должна найти в строке (начиная с определенного места) не пустое значение(если таких нет, то результат работы функции 0).Получить номер столбца. По номеру столбца я отправляюсь на строку, которая хранит в себе нужную мне дату, которую помещаю в результат.

Проблема в том, что формула просчитывает правильно, если обратиться к строке формул и нажать Enter. В остальных случаях либо ячейка остается пустой, либо во всех ячейках с данной функцией один и тот-же результат, что не правильно (значения должны быть разными).
Есть у кого идеи?


За объявленные лишние переменные не корите(пробовал лечить, но не вышло)
Входные значения: 1)Диапазон для поиска не нулевых значений
2) номер строки с датами для получения результата
Переодическая ошибка при вставке данных в формате "Link", При работе макроса в отдельной функции возникает ошибка, но не постоянно. Закономерность не обнаружена.
 
При работе макроса в отдельной функции возникает ошибка (строка 12, Невозможно вставить данные), но не постоянно. Закономерность не обнаружена.
Переменные в функцию все подаются и через Debug ошибка можно обойти путем переноса точки исполняемой строки на начало функции (4 строка  в листинге).
Как видно из кода, пробую обойти эту проблему через GoTo, но уж очень интересно с чем это может быть связанно.

Если кто может поделиться идеями с чем это может быть связанно, то буду рад увидеть их)
Код
Function SendData(StartRangeData, StartPointToFindData, OpenlLastColumn, dotProject, MainNameBook, OpenBookName, countRowToEnter)
    
line1:
    Workbooks(OpenBookName).Activate
    
    Range(Cells(StartRangeData, 1), Cells(StartPointToFindData - 1, OpenlLastColumn)).Select
    Selection.Copy                                                
    
    Workbooks(MainNameBook).Activate
    Range("B" & dotProject).Select                                 
    On Error GoTo line1
    ActiveSheet.Paste link:=True            <<<<------НА ЭТУ СТРОКУ РУГАЕТСЯ                       
    
    Workbooks(OpenBookName).Activate
    Range(Cells(StartRangeData, 1), Cells(StartRangeData + countRowToEnter - 1, 15)).Select
    Selection.Copy
    
    Workbooks(MainNameBook).Activate
    Range(Cells(dotProject, 2), Cells(dotProject + countRowToEnter - 1, 16)).Select
    Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False                     
    
    Application.CutCopyMode = False                                
    
End Function
Изменено: Kuvon - 20.12.2016 10:27:01
[ Закрыто] Ошибка в макросе, строка в формулу
 
добрый день. Имеется скрипт. Вот его фрагмент.

Sub проба()


NachaloDiap = Range("N4").Value
KonecDiap = Range("R4").Value

PuthOpenFile = "Путь"
NameOpenFile = "имя файла.xlsm"

ZaprosShapki = "=IF('[" + NameOpenFile + "]Лист1'!A4=Chrw(34)Chrw(34)Chrw(34)Chrw(34),Chrw(34)Chrw(34)Chrw(34)Chrw(34),'[" + NameOpenFile + "]Лист1'!A4)"
ZaprosDanih = "=IF('[" + NameOpenFile + "]Лист1'!" + NachaloDiap + "=Chrw(34)Chrw(34)Chrw(34)Chrw(34),Chrw(34)Chrw(34)Chrw(34)Chrw(34),'[" + NameOpenFile + "]Лист1'!" + KonecDiap + ")"



   Application.ScreenUpdating = False
   Workbooks.Open Filename:=PuthOpenFile
   Windows("активная книга.xlsm").Activate
   Range("A9").Select
   ActiveCell.Formula = ZaprosShapki

Суть вопроса: появляется ошибка с указанием на строку ActiveCell.Formula = ZaprosShapki (Run-time error '1004': Application - defined or object - defined error)
Как исправить?)
Страницы: 1
Наверх