Снипет: Обновить ячейку в таблице

one

Client
Регистрация
22.09.2015
Сообщения
6 833
Благодарностей
1 275
Баллы
113
Я так понимаю стандартным экшеном не положить в ячеку нужной строки значение. Подскажите сниппет. Нужно найти строку в таблице и переписать данные в нужной ячейке?
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 041
Баллы
113
найди по индексу
и insert
 

WebBot

Client
Регистрация
04.04.2015
Сообщения
1 763
Благодарностей
1 391
Баллы
113

one

Client
Регистрация
22.09.2015
Сообщения
6 833
Благодарностей
1 275
Баллы
113

WebBot

Client
Регистрация
04.04.2015
Сообщения
1 763
Благодарностей
1 391
Баллы
113
Не совсем понял как.

Мммм... А как узнать букву столбца по содержимому ячейки в первой колонке?
не очень понял что требуется ...

первый столбец - буква A
второй столбец - буква B
и тд

EXCEL_2019-03-03_19-49-09.png
 
  • Спасибо
Реакции: one

one

Client
Регистрация
22.09.2015
Сообщения
6 833
Благодарностей
1 275
Баллы
113
Есть значение в переменной - "Вася". Надо найти по этому значению (в колонке А) строку и записать в этой строке значение из другой переменной в колонку В.
 

WebBot

Client
Регистрация
04.04.2015
Сообщения
1 763
Благодарностей
1 391
Баллы
113
Есть значение в переменной - "Вася". Надо найти по этому значению (в колонке А) строку и записать в этой строке значение из другой переменной в колонку В.
в перемtнной v1 - Вася
в переменной v2 - какое-то другое значение для записи в колонку B
Код:
for(int i=0; i<project.Tables["mytable"].RowCount; i++){

    if ( project.Tables["mytable"].GetCell("A",i) == project.Variables["v1"].Value ){
        project.Tables["mytable"].SetCell("B",i,project.Variables["v2"].Value);
    }  
}
если Вася встретиться в разных строках колонки A, то в каждой такой строке в колонку B будет записано значение из v2 ... если нужно что бы это работало только для первого совпадения, то нужно поставить break; после строки записи в ячейку B
 
  • Спасибо
Реакции: one

one

Client
Регистрация
22.09.2015
Сообщения
6 833
Благодарностей
1 275
Баллы
113
если Вася встретиться в разных строках колонки A, то в каждой такой строке в колонку B будет записано значение из v2 ... если нужно что бы это работало только для первого совпадения, то нужно поставить break; после строки записи в ячейку B
Понял, спасибо!
 

one

Client
Регистрация
22.09.2015
Сообщения
6 833
Благодарностей
1 275
Баллы
113
А если надо обновить две ячейки в найденной строке взяв значения из двух разных переменных? То так сделать?
Код:
for(int i=0; i<project.Tables["mytable"].RowCount; i++){
    if ( project.Tables["mytable"].GetCell("A",i) == project.Variables["v1"].Value ){
        project.Tables["mytable"].SetCell("B",i,project.Variables["v2"].Value);
        project.Tables["mytable"].SetCell("С",i,project.Variables["v3"].Value);
    }
}
 

Кто просматривает тему: (Всего: 2, Пользователи: 0, Гости: 2)