Я уверен, что это общий вопрос. Я пытаюсь просто вставить вместо целевой ячейки в диапазоне вставки, чтобы перейти к last used cell in the column + 1
, поэтому он просто добавляет целевой лист. Что мне нужно изменить здесь?
Я попробовал некоторые из предложенных здесь советов, но продолжаю получать ошибки, возможно, потому, что я использую $lastRow = $ExcelWorkSheet.UsedRange.rows.count + 1
в неправильном месте (давно не использовал powershell).
Если кто-то может показать самый простой способ сделать это было бы здорово. Спасибо!
$Excel = New-Object -ComObject "Excel.Application"
$Excel.Visible=$true
$Workbook = $Excel.Workbooks.Open($pathxlsx)
$TempWorkbook = $Excel.Workbooks.Opentext($pathcsv)
$temp = $excel.Workbooks.Item(2)
$temp = $temp.Worksheets.Item(1)
$CopyRange = $temp.Range("C15")
$CopyRange.Copy()
$workbooksheet = $Workbook.Worksheets.Item(1)
$Workbooksheet.activate()
$PasteRange = $workbooksheet.Range("C10")
$workbooksheet.Paste($PasteRange)
РЕДАКТИРОВАТЬ - Хорошо, получил это сделать что-то другое, но все еще не то, что я хочу.
$Excel = New-Object -ComObject "Excel.Application"
$Excel.Visible=$true
$Workbook = $Excel.Workbooks.Open($pathxlsx)
$TempWorkbook = $Excel.Workbooks.Opentext($pathcsv)
$temp = $excel.Workbooks.Item(2)
$temp = $temp.Worksheets.Item(1)
$CopyRange = $temp.Range("C15")
$CopyRange.Copy()
$workbooksheet = $Workbook.Worksheets.Item(1)
$ExcelWorkSheet.UsedRange.rows.count
$lastRow = $workbooksheet.UsedRange.rows.count + 1
$Workbooksheet.activate()
$PasteRange = $workbooksheet.Range("C" + $lastrow)
$workbooksheet.Paste($PasteRange)