У меня есть необходимость проанализировать файл Excel с одного листа "basi c" на более сложный лист, лист basi c предназначен для простого процесса ввода, введенные данные будут выглядеть следующим образом:
Basic Sheet (Input) -
Full Name | Login ID | Agent Phone ID | Program |
Joe Blogs | JBloggs 1 | 12345 | Program 1
Fred Hughes | FHughes1 | 5678 | Program 2
В рамках Программы есть ряд команд, к которым им необходим доступ, и я планирую использовать раскрывающийся список для каждой программы
Advanced Sheet (Parsed) -
Full Name | Login ID | Agent Phone ID | Team |
Joe Blogs | JBloggs 1 | 12345 | Team 1
Joe Blogs | JBloggs 1 | 12345 | Team 2
Joe Blogs | JBloggs 1 | 12345 | Team 3
Joe Blogs | JBloggs 1 | 12345 | Team 4
Fred Hughes | FHughes1 | 5678 | Team Blue
Fred Hughes | FHughes1 | 5678 | Team Green
Fred Hughes | FHughes1 | 5678 | Team Orange
Этот поиск команды находится на отдельном листе (командах), который выглядит следующим образом:
Teams Sheet (Teams)-
Program | Teams | Security Roles |
Program 1 | Team 1 | Common
Program 1 | Team 2 |
Program 1 | Team 3 |
Program 1 | Team 4 |
Program 2 | Team Blue |
Program 2 | Team Green |
Program 2 | Team Orange |
Процесс:
Вкладка «Basi c» заполнена затем скрипт анализирует Excel, чтобы заполнить вкладку «Дополнительно» («Разбор»), просматривая программу и возвращая команды для этой программы. Мне удалось установить переменную Program ($ Program), а затем я хочу Программа, которую нужно найти в листе команд, и команды для этой программы, которые должны быть указаны в расширенном листе.
Пока мой код выглядит следующим образом (по какой-то причине я не могу выделить l oop ):
$SearchString = $Program # This is the value that I will be searching for
$Range = $sheet3.Range("A1").EntireColumn # This is the column to search
$Search = $Range.find($SearchString)
if ($Search -ne $null) {
$FirstAddress = $Search.Address
do {
$target = $Search.offset(0,1)
$target.text
$export=$Target.text
$sheet2.Cells.Item($rowTeamS2+$i,$colTeamS2) = "$export"
$Search = $Range.FindNext($search)
} while ( $Search -ne $null -and $Search.Address -ne $FirstAddress)
}
Что происходит у мамы ent Я вижу:
Team 1
Team 2
Team 3
Team 4
Team 5
Team 6
Team 7
Team 8
Team 9
Team 10
Team 11
Team 12
Team 13
Team 14
Team 15
Team 16
Team 1
Team 2
Team 3
Team 4
Team 5
Team 6
Team 7
Team 8
Team 9
Team 10
Team 11
Team 12
Team 13
Team 14
Team 15
Team 16
Я также не вижу увеличения ячейки, поэтому одно и то же значение перезаписывается в той же ячейке команды.
К сожалению, я только начинаю вникать в Powershell, так что, может быть, какое-то кодирование "no nos" я делаю