Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.07.11;
Скачать: CL | DM;

Вниз

Объеденить ячейки в Excel e   Найти похожие ветки 

 
Godness   (2004-06-28 23:00) [0]

Доброго всем времени суток... Нужна ваша помощь. Подскажите пожалуйста, как объеденить ячейки в экселе. Т.е. у меня есть код примерно следующего содержания

var E: Variant;
   f: integer;
...

 E.ActiveWorkbook.WorkSheets[1].Cells[f,1].Value := "ляляля";
 E.ActiveWorkbook.WorkSheets[1].Range["A4:AK4"].Copy;
 E.ActiveWorkbook.WorkSheets[1].Range["A" + inttostr(f) + ":AK" + inttostr(f)].Select;
 E.ActiveWorkbook.WorkSheets[1].Paste;
 E.ActiveWorkbook.WorkSheets[1].Cells[f,1].Value := "еще раз ляляля";


 а, теперь мне нужно диапазон "A6:AK6" обьеденить, т.е. чтобы этот диапазон был как одна ячейка. Т.е. отображал значение только крайней левой верхней ячейки. Что-то вроде

 E.ActiveWorkbook.WorkSheets[1].Range["A6:AK6"].(объеденить ?)

 Надеюсь понятно выразился :)... Заранее спасибо...


 
Godness   (2004-06-29 18:12) [1]

Черт... ну, неужели никто не знает :-|


 
YurikGL ©   (2004-06-29 18:13) [2]

E.ActiveWorkbook.WorkSheets[1].Range["A6:AK6"].merge ?


 
YurikGL ©   (2004-06-29 18:15) [3]

Вот, нашел
Excelapplication1.Range["A1","D1"].Merge(EmptyParam);


 
wisekaa ©   (2004-06-29 18:18) [4]

with ExcelApp do
 with Range[Range1,Range2] do
  begin
   Orientation := OleVariant(0);
   MergeCells := OleVariant(True);
   Borders[xlDiagonalDown].LineStyle := OleVariant(xlNone);
   Borders[xlDiagonalUp].LineStyle := OleVariant(xlNone);
   Borders[xlEdgeLeft].LineStyle := OleVariant(xlContinuous);
   Borders[xlEdgeLeft].Weight := OleVariant(xlThin);
   Borders[xlEdgeLeft].ColorIndex := OleVariant(xlAutomatic);
   with Borders[xlEdgeTop] do
    begin
     LineStyle := OleVariant(xlContinuous);
     Weight := OleVariant(xlThin);
     ColorIndex := OleVariant(xlAutomatic);
    end;
   with Borders[xlEdgeTop] do
    begin
     LineStyle := OleVariant(xlContinuous);
     Weight := OleVariant(xlThin);
     ColorIndex := OleVariant(xlAutomatic);
    end;
   with Borders[xlEdgeBottom] do
    begin
     LineStyle := OleVariant(xlContinuous);
     Weight := OleVariant(xlThin);
     ColorIndex := OleVariant(xlAutomatic);
    end;
   with Borders[xlEdgeRight] do
    begin
     LineStyle := OleVariant(xlContinuous);
     Weight := OleVariant(xlThin);
     ColorIndex := OleVariant(xlAutomatic);
    end;
   with Borders[xlInsideVertical] do
    begin
     LineStyle := OleVariant(xlContinuous);
     Weight := OleVariant(xlThin);
     ColorIndex := OleVariant(xlAutomatic);
    end;
    with Borders[xlInsideHorizontal] do
     begin
      LineStyle := OleVariant(xlContinuous);
      Weight := OleVariant(xlThin);
      ColorIndex := OleVariant(xlAutomatic);
     end;
  end;


 
Тимохов ©   (2004-06-29 18:24) [5]


> Godness   (29.06.04 18:12) [1]

не ругайтесь: давно бы сами ответ нашли использую следующий метод:
1. Откройте ексель
2. начните запись макроса
3. сделайте то, что вам нужно (в данном случае объедините ячейки)
4. остановите запись
5. посмотрите на код vb, который получился - надо нажать alt+f11.
6. скоприуйте в дельфи, адаптируйте и пользуйте...


 
Jann ©   (2004-06-29 18:46) [6]

Все просто я тоже долго парился над этим.
Вот код примерный:
xl.Range["A2:S2"].Select;
xl.Selection.MergeCells := true;


 
YurikGL ©   (2004-06-29 19:03) [7]


> Jann ©   (29.06.04 18:46) [6]

А я вообще не парился :)[3]


 
Godness   (2004-06-30 20:48) [8]

Большое спасибо! 8)...



Страницы: 1 вся ветка

Текущий архив: 2004.07.11;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.053 c
1-1087972744
Relaxxx
2004-06-23 10:39
2004.07.11
Как напечатать текст на бумаге в определенных координатах?


14-1087935141
Undert
2004-06-23 00:12
2004.07.11
Мишку жалко ...


1-1088003458
tria
2004-06-23 19:10
2004.07.11
Как сделать, чтобы вид окон под ХР не портился?


4-1085754956
Chlavik
2004-05-28 18:35
2004.07.11
Comm Port


1-1087896534
Provodnick
2004-06-22 13:28
2004.07.11
OnMouseWheel в TScrollBox