Показать сообщение отдельно
  #1  
Старый 04.10.2012, 20:21
modestss modestss вне форума
Прохожий
 
Регистрация: 04.10.2012
Сообщения: 1
Репутация: 10
Печаль Сортировка и форматирование ячеек Excel по условию в Delphi

Народ, ваша помощь нужна!
есть 1 столбец в экселе и 2, нужно все значения, которые употребляются в 1 столбце, выделить их во 2 столбце красным цветом.

Алгоритм:


код программы:
Код:
unit Unit1;

interface

uses
  Windows, ComObj, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  excel: variant;
  i,j,n,m:integer;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var s:integer;
begin
//s:string;
s:=0;
i:=2;
j:=2;
n:=2;
m:=2;
        begin
        //while n>8000 do
        //for s := 1 to 8000 do
        repeat
           begin
           if Excel.Cells[i, j]=Excel.Cells[n, m] then
              begin
              Excel.Range[n,m].Interior.Color:=RGB(223, 123, 123);
              n:=6;
              i:=i+1;
              ShowMessage(inttostr(i)+'  '+inttostr(n)+'  '+inttostr(m)+'  '+inttostr(j));
              end else n:=n+1;
            ShowMessage(inttostr(i)+'  '+inttostr(n)+'  '+inttostr(m)+'  '+inttostr(j));
           end;
        until n>=8000;
        end;

end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Excel.DisplayAlerts:=False;
Excel.ActiveWorkbook.Close;
Excel.Application.Quit;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
Excel := CreateOleObject('Excel.Application');
Excel.Visible:= True;
Excel.Workbooks.Open['C:\5.xls'];
end;

end.
Ответить с цитированием