|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Заполнение книги Excel
Здравствуйте, два ListBox1 и ListBox2 в первом содержатся имена ячеек первого листа книги Excel из которых необходимо взять значения, во втором ListBox содержатся имена ячеек второго листа книги в которые необходимо скопировать значения. Как сделать это циклом?
Код:
Apex := CreateOleObject('Excel.Application'); //начинаю работу с excel Apex.Workbooks.Open(Ap+'Имя файла.xlsx'); Apex.ActiveWorkBook.Sheets.Item[1].Activate; //1 лист активен L1C1z := Apex.WorkBooks[1].WorkSheets[1].Range[ListBox1.Items[0]]; //значение ячейки в переменную Apex.ActiveWorkBook.Sheets.Item[2].Activate; //2 лист активен Apex.Range[ListBox2.Items[0]] := L1C1z; //из переменной в ячейку второго листа |
#2
|
|||
|
|||
Надеюсь кол-во ячеек в первом и втором списке одинаковое?
Код:
var I : Integer; begin Apex := CreateOleObject('Excel.Application'); //начинаю работу с excel Apex.Workbooks.Open(Ap+'Имя файла.xlsx'); For I := 0 To ListBox1.Items.Count-1 Do begin Apex.ActiveWorkBook.Sheets.Item[1].Activate; //1 лист активен L1C1z := Apex.WorkBooks[1].WorkSheets[1].Range[ListBox1.Items[i]]; //значение ячейки в переменную Apex.ActiveWorkBook.Sheets.Item[2].Activate; //2 лист активен Apex.Range[ListBox2.Items[i]] := L1C1z; //из переменной в ячейку второго листа end; |
#3
|
|||
|
|||
lmikle спасибо огромное! Но уже решил вопрос немного по другому, просто запутался в ячейках сначала. Сделал так:
Код:
For i:=0 to ListBox1.Items.Count-1 do begin Apex.Range[ListBox2.Items[i] + EdtL2S.Text] := '=Лист1!' + EdtL1D.Text + ListBox5.Items[i]; //-1- -1- end; |