На рабочем листе, если слово найдено в ячейке A5, то хотите скопировать значение ячейки B5, используя PowerShell - PullRequest
0 голосов
/ 26 августа 2018

В Excel есть 2 столбца со значениями A и B. Если в ячейке A5 найдено слово «смелость», я хочу скопировать значение ячейки B5.

А если слово «смелость» есть в A10, то скопируйте значение B10 (напротив ячейки). Я подготовил скрипт ниже, чтобы найти смелость, он работает правильно, но не может скопировать противоположное значение ячейки.

$Excel = New-Object -ComObject Excel.Application 
$Workbook = $Excel.Workbooks.Open('C:\Users\Raj\Desktop\Book1.xlsx')
$workSheet = $Workbook.Sheets.Item(1)
$WorkSheet.Name
$Found = $WorkSheet.Cells.Find('courage')

If ($Found.) 

1 Ответ

0 голосов
/ 26 августа 2018

Попробуйте это -

$Excel = New-Object -ComObject Excel.Application
$Excel.Visible = $true
$Excel.DisplayAlerts = $false
$Workbook = $Excel.Workbooks.Open('C:\Users\Raj\Desktop\Book1.xlsx')
$workSheet = $Workbook.Sheets.Item(1)
$column = 1
$LastRow = $workSheet.UsedRange.Rows.Count
for($row=1; $row -lt $LastRow; $row++)
{
    if ($WorkSheet.Cells.Item($row, $column).Value2 -eq "courage")
    {
        $WorkSheet.Cells.Item($row, $column+1).Value2 = $WorkSheet.Cells.Item($row, $column).Value2
    }
}
#Proceed with other operations
#else save the worksheet and workbook
#Quit excel after you are done
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...