/ / Повернути останній рядок Excel за допомогою слова macro - excel, vba, ms-word, word-vba

Повернути останній рядок Excel за допомогою слова macro - excel, vba, ms-word, word-vba

Як скопіювати Undefined діапазон з Excel та минулого у документі Word за допомогою макросу Word. Я пробував нижче, але не зміг досягти успіху. Ви можете, будь ласка, допоможіть мені.

Примітка. Якщо я згадую діапазон, то він працює нормально, тоді як я хочу використовувати цей код NumberOfRows = .Range("A65536").End(xlUp).Row в слово макрос - я отримую помилку часу виконання 1004.

Sub InputExcel()

Set appExcel = CreateObject("Excel.Application")

Dim INP_File As Variant
Dim lngRows As Long
Dim LenMgs As Long
Dim NumberOfRows As String

INP_File = appExcel.GetOpenFilename("Excel files (*.xlsx;*.xls),*.xlsx;*.xls", 2)

appExcel.Workbooks.Open INP_File

If INP_File > 0 Then

Selection.Find.ClearFormatting
With Selection.Find
.Text = "Sample"
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute
Selection.HomeKey Unit:=wdLine

LenMgs = appExcel.Worksheets("Sheet1").Range("A1").CurrentRegion.Rows.Count
"NumberOfRows = appExcel.Worksheets("Sheet1").Range("A65536").End(xlUp).Row
Set Rng = appExcel.Worksheets("Sheet1").Range(appExcel.Worksheets("Sheet1").Cells(4, 1), appExcel.Worksheets("Sheet1").Cells(LenMgs, 5))
"Rng.Copy
"appExcel.Worksheets("Sheet1").Range("A1:B5").Copy - This is working !! if I specify the range.
Selection.Paste

End If
appExcel.ActiveWorkbook.Close

appExcel.Quit

Set appExcel = Nothing

End Sub

Відповіді:

1 для відповіді № 1

Ви отримуєте помилку, тому що xlUp є константою Excel, і вона не розпізнається MS Word, оскільки ви використовуєте Late Binding для з'єднання з Excel.

Ви повинні заявити це як верхній частині вашого коду

Const xlup = -4162

Також ви можете прочитати ЦЕ для пошуку останнього ряду в Excel?