Tạo add-ins cho việc xử lý bảng tính

Liên hệ QC

MinhCong

Thành viên gắn bó
Tham gia
28/5/09
Bài viết
1,645
Được thích
1,806
Nghề nghiệp
Xây dựng Cầu đường
Chào cả nhà!
Nói về VB thì mình mù tịt, không biết một tí nào cả. Nay mình có vấn đề này mong các anh chị em giúp cho cái add-ins để xử lý bảng tính (đã tìm trên diễn đàn rồi nhưng không thấy). Mình có bảng tính như sau:
|
A​
|
B​
|
C​
|
D​
|
E​
|
F​
|
1​
|
STT​
|
Hạng mục công việc​
|
Các tính​
||
Khối lượng​
|
Đơn vị​
|
2​
|
1​
|Đào đất nền đường| | |
31​
| |
3​
| |dfdsdfsdfs|
3*5​
|
=​
|
15​
| |
4​
| |sdgfgzhgf|
Hải: 2*8​
|
=​
|
16​
| |
5​
|
2​
|FFFFF| | |
22​
| |
6​
| |sađfdffd|
5*4​
|
=​
|
20​
| |
7​
| |ttvbg|
Hải: 1*2​
|
=​
|
2​
| |
8​
|
3​
|jjfgmfgj| | |
30​
| |
9​
| |fgghgjh|
1*8​
|
=​
|
8​
| |
10​
| |fff|
Hai 2: 2*3​
|
=​
|
6​
| |
11​
| |hhg|
2*3​
|
=​
|
6​
| |
12​
| |hfdgjhgjg|
2*5​
|
=​
|
10​
| |
Việc cần giúp:
1/Khi đặt chuột vào bất kỳ vị trí nào trong vùng dữ liệu và nhấn phím enter thì tự động xuống hàng thêm một hàng mới có định dạng như dòng phía trên (Chỉ cần giống phần kẻ khung và trong ô khối lượng thì lấy lại công thức như ô trên)
VD: Khi mình đặt chuột vào ô A10 hoặc B10.... (lúc này trong bảng tính ta có 12 hàng) nhấn enter thì insert thêm 1 hàng nữa ta được 13 hàng.
Tương tự ô A12 hoặc B12.... nhấn enter được thêm 1 hàng thứ 13 nữa.
Mong các Bạn giúp mình cái add-in với nhé!
 
Yêu cầu của bạn giống với bày này:
http://www.giaiphapexcel.com/forum/showthread.php?t=27490
Bỏ dòng tô màu đi
PHP:
.Interior.Color = 65535 '                        Bỏ dòng này
Không phải Enter mà phải chạy Sub Chen nhé. Nếu muốn thì gán cho nó 1 phím tắt.
 
Mình Bạn Huu Thang có thể giúp mình gán thêm phím tắt enter không? Vì VB Mình không rành lắm
 
Mình Bạn Huu Thang có thể giúp mình gán thêm phím tắt enter không? Vì VB Mình không rành lắm
Không thể gán Macro vào phím Enter đâu. Gán vào một tổ hợp phím khác. Cách làm thế này:
Alt + F8
Chọn Macro muốn gán phím tắt -> Options...
Tại mục Shortcut key bạn có thể gán phím tắt cho Macro (ví dụ: nhấn giữ Shift + S là gán tổ hợp phím Ctrl + Shift + S cho Macro rồi)
 
MS Excel 2003 đã có sẳn chức năng này rồi, cần gì viết code chứ ---> Bạn đã nghiên cứu chức năng List của Excel chưa? (Click phải vào vùng, chọn Create List)
 
Không thể gán Macro vào phím Enter đâu. Gán vào một tổ hợp phím khác. Cách làm thế này:
Alt + F8
Chọn Macro muốn gán phím tắt -> Options...
Tại mục Shortcut key bạn có thể gán phím tắt cho Macro (ví dụ: nhấn giữ Shift + S là gán tổ hợp phím Ctrl + Shift + S cho Macro rồi)
Mình đã gán được rồi.

Sub chen()
Application.ScreenUpdating = False
With Selection.EntireRow
.Copy
.Insert Shift:=xlUp
End With
Application.CutCopyMode = False
Application.ScreenUpdating = True
Application.OnKey "{Enter}", "Sheet1.chen"
End Sub

Nhưng khi enter thì chỉ chen dòng vào thôi còn cái khung bao quanh của con trỏ không nhảy xuống chỉ đứng im 1 chỗ thôi. Bạn có cách nào để nó nhảy theo không?
 
Lần chỉnh sửa cuối:
MS Excel 2003 đã có sẳn chức năng này rồi, cần gì viết code chứ ---> Bạn đã nghiên cứu chức năng List của Excel chưa? (Click phải vào vùng, chọn Create List)
Bạn đã hiểu nhầm ý mình rồi. Mình muốn enter thì excel tự xuống dòng và chèn thêm 1 dòng khác nữa có định dạng như dòng trên bạn à.
 
Bạn đã hiểu nhầm ý mình rồi. Mình muốn enter thì excel tự xuống dòng và chèn thêm 1 dòng khác nữa có định dạng như dòng trên bạn à.
Trời... à... Bạn đã thử với List chưa mà bảo người ta nhầm
Bạn vừa đặt con trỏ vào là nó đã tự xuống dòng rồi... và khi bạn gõ gì đó vào dòng mới thì lập tức công thức dòng trên tự điền xuống luôn
Thí nghiệm kỹ lại đi ---> Đây là 1 công cụ mạnh, với yêu cầu của bạn mà đi viết code, không dùng chức năng này thì quả thật là điều đáng tiếc
 
Cái này hay thật đấy, lâu nay mình không biết. Vậy còn ở những dòng ở giữa bảng khi muốn enter thì chèn thêm dòng mới phải dùng code rồi phải không bạn?
 
Cái này hay thật đấy, lâu nay mình không biết. Vậy còn ở những dòng ở giữa bảng khi muốn enter thì chèn thêm dòng mới phải dùng code rồi phải không bạn?
Tôi thậy rất nhiều người có yêu cầu kỳ lạ này! Tại sao phải chèn dòng vào giữa? Muốn nhập gì thì cứ tiếp tục mà nhập
Nhập liệu càng đơn giản càng hiệu quả ---> Sau này khi bạn muốn trình bày hay trang trí gì đó thì lại có những công cụ khác giúp bạn, như PivotTable chẳng hạn
 
cậu có thể sử dụng lệnh sau để thực hiện tự động xuống dòng:
Dim range As range
Dim c, r As Integer
Set range = Selection
r = range.Row
c = range.Column
r = r + 1
Set range = Cells(r, c)
range.Select
 
Web KT
Back
Top Bottom