Страницы: 1
RSS
Вставка в таблицу Word значения из Excel. Обратиться к ячейке
 
Код
With myTable
.Columns(1).Cells(1).Range = Sheets("Лист1").Range("А" & 1).Value
.Columns(1).Cells(2).Range = "ывло"
Добрый вечер из модуля в Эксель -Ошибка  
Изменено: Тимофеев - 04.03.2021 20:36:21
 
краткость, конечно, сестра таланта - но не до такой же степени. Предлагаете угадать на какой строке и какая именно ошибка? Откуда что вызываете тоже надо угадать? Вы куда и что вставляете? Что здесь у Вас Word, что Excel? Если слева Word, то основной посыл в том, что там нет объекта Cells - есть Cell.
Изменено: Дмитрий(The_Prist) Щербаков - 04.03.2021 21:28:52
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Из Эксель создаю ворд и слева уже ворд справа хочу из Эксель значение, видимо полное имя надо. Вторая строка без ошибки, в первой попытался из Эксель дать значение
Изменено: Тимофеев - 04.03.2021 21:26:51
 
Цитата
Тимофеев написал:
Вторая строка без ошибки, в первой попытался из Эксель дать значение
так ошибка вообще есть или нет? Какая? Почему тянуть-то надо?
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Отошёл я от компа ошибка есть не берет значение из Эксель мое предположение что на ворд переключился, а путь к ячейке Эксель не правильно пишу
 
Ну вообщем сидеть гадать и ожидать вменяемого описания времени нет. Возможно, в активной книге Excel нет листа "Лист1". Больше без текста ошибки сказать нечего вообще.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Код
Sub TABL_Word()
On Error GoTo Instr
Dim myWord As New Word.Application, _
myDocument As Word.Document, _
myTable As Word.Table, myInt As Integer
  Set myDocument = myWord.Documents.Add
  myWord.Visible = True
With myDocument
'Вставляем заголовок таблицы
  .Range.InsertAfter "Вставка таблицы" & vbCr
  myInt = .Range.Characters.Count - 1
'Присваиваем заголовку стиль
  .Range(0, myInt).Style = "Обычный"
'Создаем таблицу
  Set myTable = .Tables.Add(.Range(myInt, myInt), 4, 4)
End With
With myTable
'Отображаем сетку таблицы
  .Borders.OutsideLineStyle = wdLineStyleSingle
  .Borders.InsideLineStyle = wdLineStyleSingle
'Форматируем первую и четвертую строки
  .Rows(1).Range.Bold = True
  .Rows(4).Range.Bold = True
'Заполняем первый столбец
  .Columns(1).Cells(1).Range = Sheets("Лист1").Range("А" & 1).Value 'Не работает если поставить "АААА" то пойдет
  .Columns(1).Cells(2).Range = Sheets("Лист1").Range("B" & 1).Value 'Не работает если поставить "ББББ" то пойдет
  .Columns(1).Cells(3).Range = "ВВВВ" 'Так работает
  .Columns(1).Cells(4).Range = "ГГГГ" 'Так работает
End With
'Освобождаем переменные
Set myDocument = Nothing
Set myWord = Nothing
'Завершаем процедуру
Exit Sub
'Обработка ошибок
Instr:
If Err.Description <> "" Then
  MsgBox "Произошла ошибка: " & Err.Description
End If
If Not myWord Is Nothing Then
  myWord.Quit
  Set myDocument = Nothing
  Set myWord = Nothing
End If
End Sub
код - в модуль, в Лист1 в A1 и B1 что-нибудь
и библиотеку Word 16.0 подключить !
Тут не верно:
.Columns(1).Cells(1).Range = Sheets("Лист1").Range("А" & 1).Value
Второй момент дабы темы не плодить возможно ли заполнить таблицу после заполнения заголовков оставшиеся строки заполнить циклом или массивом из A2:D4
Изменено: Тимофеев - 05.03.2021 06:48:23
 
Цитата
Тимофеев написал:
Эксель не правильно пишу
Слабо в Sheets("Ëèñò1").Range("À" & 1).Value
А кириллицу заменить на латиницу.
Sheets("Лист1").Range("А" & 1).Value
Изменено: doober - 04.03.2021 23:45:46
 
сильно...
Как одной строкой кода вставить оставшиеся значения из A2:D4? Циклом или массивом
- Изменить ширину первого столбца
Изменено: Тимофеев - 05.03.2021 06:58:18
 
Массивом, если дат нет
Код
     .Columns(1).PreferredWidthType = 3
     .Columns(1).PreferredWidth = myWord.CentimetersToPoints(3)
      ' или в процентах
     .Columns(1).PreferredWidthType = 2
     .Columns(1).PreferredWidth = 20
 
doober, спасибо за информацию
Как следом новую таблицу вставить после текста с красной строки и другой размерности
 
Запись макроса в ворде поможет
 
Вопрос такой еще возник. А таблицу данную вставить на 3 лист Word? Первый и второй оставить пустым допустим.
 
Тимофеев,Что мешает перед таблицей вставить 2 разрыва страниц?
Страницы: 1
Наверх