Nếu bạn làm trong VSTO tôi có một ý bạn thử xem nhé.
private void Sheet1_SelectionChange(Excel.Range Target)
{
range = Target;
TextBox tb = new TextBox();
tb.KeyPress += new KeyPressEventHandler(tb_KeyPress);
tb.TextChanged += new EventHandler(tb_TextChanged);
if (this.Controls.Contains("tb"))
{
this.Controls.Remove("tb");
}
this.Controls.AddControl(tb, Target, "tb");
}
void tb_KeyPress(object sender, KeyPressEventArgs e)
{
if ((Keys)e.KeyChar == Keys.Enter)
{
this.Controls.Remove("tb");
}
}
void tb_TextChanged(object sender, EventArgs e)
{
Application.StatusBar = ((TextBox)sender).Text;
range.Value = ((TextBox)sender).Text;
}
Đương nhiên còn nhiều chuyện mà bạn cần phải giải quyết nữa