Nhập dữ liệu và chuyển vào ô trống cuối cùng

  • Thread starter Thread starter hunggtg
  • Ngày gửi Ngày gửi
Liên hệ QC

hunggtg

Thành viên chính thức
Tham gia
30/11/09
Bài viết
75
Được thích
3
Chào Các bạn,

Nhờ các bạn giúp cho hàm trong trường hợp sau:

Tôi nhập dữ liệu vào 1 ô. Nhưng sau đó tôi muốn dữ liệu đó tự động đưa vào ô cuối cùng đang trống trong 1 bảng đã được định sẵn. Nhờ Các bạn chỉ giùm hàm nào có thể làm được việc này.

Xin cám ơn !
 

File đính kèm

Chuyện này có thể fải dùng 1 macro sự kiện, bạn à!
 

Chào bạn,

Bạn có thể cài vào file Giupdo.xls mình đính kèm luôn được không?

Cám ơn nhiều.
 
Code củ chuối học lóm từ GPE và từ Record Macro, xem thử có xài được không nhé.

Tạm rút gọn lại như thế này:

Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
 Dim Dong As Integer
   If Not Intersect(Target, [C3]) Is Nothing Then
     Dong = Range("h65000").End(xlUp).Row + 1
     Range("c3").Copy Range("h" & Dong)
   End If
 
End Sub
 
Code củ chuối học lóm từ GPE và từ Record Macro, xem thử có xài được không nhé.
Lỡ rút thì rút tới luôn:
Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, [C3]) Is Nothing Then
        [C3].Copy [h5000].End(xlUp).Offset(1, 0)
    End If
End Sub
 
Lỡ rút thì rút tới luôn:
Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, [C3]) Is Nothing Then
        [C3].Copy [h5000].End(xlUp).Offset(1, 0)
    End If
End Sub
Rút nữa được không?
PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Address = "$C$3" Then Range("H65536").End(xlUp)(2) = Target
End Sub
Mà mắc gì phải copy nhỉ? Lấy Value là được rồi
---------------
Đang nghĩ đến 1 chuyện: Lở nhập sai thì sao nhỉ? Cũng phải mất công kéo chuột đến dòng cuối để sửa thôi
Ẹc... Ẹc...
 
Cám ơn Ba Tê nhé,

Bạn đã giúp rồi thì giúp thêm giùm luôn. Mình muốn vùng nhập dữ liệu ở Sheet1, nhưng dữ liệu đó sẽ ghi vào trong Sheet2.

Cám ơn nhiều nhiều !
 
Rút nữa được không?
PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Address = "$C$3" Then Range("H65536").End(xlUp)(2) = Target
End Sub
Mà mắc gì phải copy nhỉ? Lấy Value là được rồi
---------------
Đang nghĩ đến 1 chuyện: Lở nhập sai thì sao nhỉ? Cũng phải mất công kéo chuột đến dòng cuối để sửa thôi
Ẹc... Ẹc...
Đã nói là củ chuối thì nó là củ chuối, hiểu biết thêm một số "chuyện" mà không ai chỉ sẽ không biết. Đa tạ, Đa tạ.
Mà còn cái này: nếu nhập xong, Enter rồi mà phát hiện nhập sai thì có cách nào khỏi phải kéo chuột đến dòng cuối để sửa không nhỉ?
-----------
Cái Ẹc... Ẹc... này khó chịu thật nghe!
 
Lần chỉnh sửa cuối:
Chào Các bạn,

Trong trường hợp tôi nhập 1 số ô xong ở Sheet1 xong rồi mới muốn cho nó nhập qua Sheet2 một lần luôn (mình đã làm được rồi). Nhưng mình muốn tạo 1 button để thực hiện việc này nhưng không biết cách tạo button và assign vào lệnh. Vậy nhờ các bạn tạo ra giùm trong file đính kèm luôn nhé.

Cám ơn nhiều
 

File đính kèm

Chào Các bạn,

Trong trường hợp tôi nhập 1 số ô xong ở Sheet1 xong rồi mới muốn cho nó nhập qua Sheet2 một lần luôn (mình đã làm được rồi). Nhưng mình muốn tạo 1 button để thực hiện việc này nhưng không biết cách tạo button và assign vào lệnh. Vậy nhờ các bạn tạo ra giùm trong file đính kèm luôn nhé.

Cám ơn nhiều
Yêu cầu của bạn gần giống như việc nhập liệu từ Form (ở đây bạn lại nhập từ sheet)
Với dữ liệu đơn giản thế, thôi thà ta dùng Form có sẳn của Excel mà làm, khỏi code gì ráo:
- Đầu tiên sửa lại cách bố trí dữ liệu thế này (bỏ merge cell)

untitled1.JPG


- Tiếp theo, quét chọn vùng dữ liệu (bao gồm tiêu đề) rồi vào menu Data, chọn Form. Ta sẽ có ngay 1 Form dạng thế này:

untitled2.JPG


Từ giờ có thể NHẬP, XÓA, SỬA thoải mái
 
Chào Bạn ndu96081631,

Cám ơn bạn đã trả lời, vấn đề của mình là mình không show ra Sheet2, mà Sheet2 sẽ được giấu đi. Vì làm cái này để nhập hàng tồn kho , do đó mình không muốn sheet2 bị thay đổi.

Chào
 
Chào Các bạn,

Trong trường hợp tôi nhập 1 số ô xong ở Sheet1 xong rồi mới muốn cho nó nhập qua Sheet2 một lần luôn (mình đã làm được rồi). Nhưng mình muốn tạo 1 button để thực hiện việc này nhưng không biết cách tạo button và assign vào lệnh. Vậy nhờ các bạn tạo ra giùm trong file đính kèm luôn nhé.

Cám ơn nhiều
Thích bỏ nó vào cái nút thì...bỏ
Code này của bạn, cái nút cũng của bạn đó à nha
Híc, mình chẳng có cái gì trong bài này
 

File đính kèm

Cám ơn bạn concogia,

Mình đã làm được rồi, nhưng nó lại nảy sinh 1 vấn đề nữa như sau:

- Tốc độ xử lý quá nhanh và Sheet2 lại bị ẩn, do đó người nhập không nhận biết là đã nhập số liệu vào chưa, họ có thể nhấn button nhiều lần => dẫn đến số liệu bị nhập vào nhiều lần.

Vậy có cách nào chỉ cho nhập mỗi số liệu vào chỉ 1 lần không? Có thể lấy số liệu trong cột C làm chuẩn, nếu thay đổi số liệu ở cột này thì xem như là 1 lần mới. Hoặc nếu các bạn có cách nào tốt hơn thì xin chỉ giáo giùm

Xin cám ơn !
 
Cám ơn bạn concogia,

Mình đã làm được rồi, nhưng nó lại nảy sinh 1 vấn đề nữa như sau:

- Tốc độ xử lý quá nhanh và Sheet2 lại bị ẩn, do đó người nhập không nhận biết là đã nhập số liệu vào chưa, họ có thể nhấn button nhiều lần => dẫn đến số liệu bị nhập vào nhiều lần.

Vậy có cách nào chỉ cho nhập mỗi số liệu vào chỉ 1 lần không? Có thể lấy số liệu trong cột C làm chuẩn, nếu thay đổi số liệu ở cột này thì xem như là 1 lần mới. Hoặc nếu các bạn có cách nào tốt hơn thì xin chỉ giáo giùm

Xin cám ơn !
Có nhiều cách lắm bạn ơi, đơn giản nhất là sau khi gán dữ liệu xong thì xóa hết dữ liệu trên form ( hihi, có lỡ bấm nữa cũng chẳng còn gì mà gán vào sheet2 ), ngồi không hổng làm gì, làm cái này đỡ buồn.
Híc
 

File đính kèm

Cám ơn bạn nhiều nhé,

Ví dụ bây giờ tôi không muốn giấu Sheet2 (mọi người có thể xem dữ liệu). Nhưng tôi muốn chỉ có thể xem Sheet2 mà không thể xóa dữ liệu (vì là dữ liệu hàng hóa). Nếu tôi khóa bằng Protect Sheet thì dữ liệu từ sheet1 không copy qua được.

Vậy có cách nào khi copy dữ liệu qua thì không khóa sheet2, khi copy xong rồi thì khóa lại liền. Hoặc các bạn có phương án nào tốt hơn thì giúp giùm nhé.

Xin cám ơn.
 
Lần chỉnh sửa cuối:
Cám ơn bạn nhiều nhé,

Ví dụ bây giờ tôi không muốn giấu Sheet2 (mọi người có thể xem dữ liệu). Nhưng tôi muốn chỉ có thể xem Sheet2 mà không thể xóa dữ liệu (vì là dữ liệu hàng hóa). Nếu tôi khóa bằng Protect Sheet thì dữ liệu từ sheet1 không copy qua được.

Vậy có cách nào khi copy dữ liệu qua thì không khóa sheet2, khi copy xong rồi thì khóa lại liền. Hoặc các bạn có phương án nào tốt hơn thì giúp giùm nhé.

Xin cám ơn.
Thì cũng dùng code khóa nó luôn, bạn chèn cái này vào
Mã:
........
Sheets("chi tiet nhap xuat").Unprotect 123
     Dong = Sheets("Chi tiet nhap xuat").Range("h65000").End(xlUp).Row + 1

Mã:
......
Sheets("chi tiet nhap xuat").Protect 123
End Sub
 
Chào bạn,

Với cách này thì người nào biết 1 tý thì có thể mở view macro là thấy được password liền. Có cách nào khóa luôn macro không?

Thanks.
 
Web KT

Bài viết mới nhất

Back
Top Bottom