![Старый](images/statusicon/post_old.gif)
04.10.2012, 20:21
|
Прохожий
|
|
Регистрация: 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.
|