Hỏi Về Macro Xóa Dong Và Cột

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

lubabi

Thành viên mới
Tham gia
24/8/07
Bài viết
6
Được thích
0
+-+-+-+ Vì công việc của mình làm hàng ngày là phải nhập liệu theo mẫu có sẵn và in. Xin các huynh chỉ dùm mình tạo nút lệnh reset để khi ấn reset là dữ liệu ở các ô mới nhập bị xóa đi. Thanhks! --=0
 

File đính kèm

+-+-+-+ Vì công việc của mình làm hàng ngày là phải nhập liệu theo mẫu có sẵn và in. Xin các huynh chỉ dùm mình tạo nút lệnh reset để khi ấn reset là dữ liệu ở các ô mới nhập bị xóa đi. Thanhks! --=0
Bạn thử dùng đoạn code này xem.
PHP:
Sub Xoa()
    Sodong = Range("A:B").End(xlDown).Row
    Range("A2:B" & Sodong).Clear
End Sub
 

File đính kèm

Upvote 0
+-+-+-+ Vì công việc của mình làm hàng ngày là phải nhập liệu theo mẫu có sẵn và in. Xin các huynh chỉ dùm mình tạo nút lệnh reset để khi ấn reset là dữ liệu ở các ô mới nhập bị xóa đi. Thanhks! --=0
Tôi nghĩ để tăng thêm tính hiệu quả của vụ CLEAR này thì cần phải hiểu công việc cụ thể của bạn là gì, rồi kết hợp chung vào 1 macro, như thế hay hơn... chứ chỉ đơn giãn xóa vài ba dòng ấy thì xóa bằng tay cũng đâu có lâu...
Ví dụ như vầy nhé: Khi bạn nhập liệu xong, bấm nút cái thì dử liệu nhập sẽ dc cập nhật vào nơi nao đó, tiếp theo mới xóa form để nhập mới...
Bạn nghĩ sao?
ANH TUẤN
 
Upvote 0
Tôi nghĩ để tăng thêm tính hiệu quả của vụ CLEAR này thì: Ví dụ như vầy nhé: Khi bạn nhập liệu xong, bấm nút cái thì dử liệu nhập sẽ dc cập nhật vào nơi nao đó, tiếp theo mới xóa form để nhập mới...
Bạn nghĩ sao? ANH TUẤN
Tranh chổ 1 cái:
PHP:
Option Explicit

Sub ClearAll()
 Dim lRow As Long
 
 lRow = [b65432].End(xlUp).Row + 9
 With Range("A2:B" & lRow)
1    .Copy Destination:=Sheet2.Range("A" & Sheet2.[a65432].End(xlUp).Row + 1)
    .ClearContents
 End With
 
End Sub
Dòng lệnh 1 sẽ chép nối dữ liệu nhập từ Sheet1 đến dưới dòng cuối của sheet2
Nếu cần, bạn phải sửa lại dòng lệnh này cho phù hợp.
:-=
 
Upvote 0
Tôi nghĩ để tăng thêm tính hiệu quả của vụ CLEAR này thì cần phải hiểu công việc cụ thể của bạn là gì, rồi kết hợp chung vào 1 macro, như thế hay hơn... chứ chỉ đơn giãn xóa vài ba dòng ấy thì xóa bằng tay cũng đâu có lâu...
Ví dụ như vầy nhé: Khi bạn nhập liệu xong, bấm nút cái thì dử liệu nhập sẽ dc cập nhật vào nơi nao đó, tiếp theo mới xóa form để nhập mới...
Bạn nghĩ sao?
ANH TUẤN


To: ANHTUAN1066
Nếu như anh anhtuan1066 đã nói như thế thì em xin anh anhtuan1066 giúp đỡ cho em luôn nhé. Thật sự là em làm ở ks, lúc trước mới vô làm mọi người mở folio (hồ sơ khách lưu trú) bằng tay, em thấy bất công quá. Sẵn có biết chút excel thời học phổ thông (may mà còn nhớ nếu không phải làm bằng tay?????) nên em mới làm thử file này (trước khi làm em phải vao giaiphapexcel xem lại công thức đó) nhưng thấy còn nhiều thủ công quá. Sẵn đây nhờ các huynh và anh anhtuan1066 giúp đỡ mình nhé.

Nnếu như anhtuan1066 tạo cho em luôn 1 form và nhập password login thì em xin đa tạ anhtuan1066 nhiều lắm.:clap2::drinks:
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
to anhtuan1066
anhtuan1066 không hiểu chỗ nào? ở sheet ""nhập" là mình nhập thông tin từ số booking của khách.
vd: cty campenon đặt 5 phòng cho khách ở từ 2/5 đến 31/12, với giá là $200++/s/n chẳng hạn.

Đại khái là vậy, ý của em là muốn tạo 1 command khi ấn nút này thì dữ liệu ở những ô có nền màu xanh nhạt mất hết để nhập mới. anhtuan1066 có thể giúp mình được mà!!! Thanks trước nhé .
 
Upvote 0
sao không ai có ý kiến về vấn đề của mnình hết vậy?
 
Upvote 0
Bạn chép 2 macro này thay cho macro của bạn

Ý là muốn tạo 1 command khi ấn nút này thì dữ liệu ở những ô có nền màu xanh nhạt mất hết để nhập mới.
Muốn làm nút lệnh, thì tìm trên diễn đàn, hay vô phần VBA của chữ kí của mình í (tuy hơi dài!)


PHP:
Sub Xoa()
 Dim Rng As Range
 
 Application.ScreenUpdating = False
 Set Rng = Union(Range("B3:O3"), [a5], Range("D7:E7"), Range("G9:O10"), _
    Range("B11:C11"), Range("I13:J13"))
 Rng.ClearContents
 Set Rng = Range("B2:e2")
    UnMergeCells Rng:            Rng.Merge
 Set Rng = Range("B4:F4")
    UnMergeCells Rng:            Rng.Merge
 Set Rng = Range("G5:K5")
    UnMergeCells Rng:            Rng.Merge
 Set Rng = Range("b6:C6")
    UnMergeCells Rng:            Rng.Merge
 Set Rng = Range("d6:e6")
    UnMergeCells Rng:            Rng.Merge
 Set Rng = Range("B7:C7")
    UnMergeCells Rng:            Rng.Merge
 Set Rng = Range("B8:e8")
    UnMergeCells Rng:            Rng.Merge
 Set Rng = Range("B9:e9")
    UnMergeCells Rng:            Rng.Merge
 Set Rng = Range("B10:e10")
    UnMergeCells Rng:            Rng.Merge
 Set Rng = Range("F11:K11")
    UnMergeCells Rng:            Rng.Merge
 Set Rng = Range("A13:d13")
    UnMergeCells Rng:            Rng.Merge
 Set Rng = Range("E13:H13")
    UnMergeCells Rng:            Rng.Merge
 Set Rng = Range("A14:d14")
    UnMergeCells Rng:            Rng.Merge
 Set Rng = Range("E14:H14")
    UnMergeCells Rng:            Rng.Merge
 Set Rng = Range("A15:d15")
    UnMergeCells Rng:            Rng.Merge
 Set Rng = Range("E15:H15")
    UnMergeCells Rng:            Rng.Merge
End Sub
Mã:
[B]Sub UnMergeCells(Clls As Range)[/B]
        Clls.UnMerge:       Clls.ClearContents
[B]End Sub[/B]
 
Upvote 0
Muốn làm nút lệnh, thì tìm trên diễn đàn, hay vô phần VBA của chữ kí của mình í (tuy hơi dài!)


PHP:
Sub Xoa()
 Dim Rng As Range
 
 Application.ScreenUpdating = False
 Set Rng = Union(Range("B3:O3"), [a5], Range("D7:E7"), Range("G9:O10"), _
    Range("B11:C11"), Range("I13:J13"))
 Rng.ClearContents
 Set Rng = Range("B2:e2")
    UnMergeCells Rng:            Rng.Merge
 Set Rng = Range("B4:F4")
    UnMergeCells Rng:            Rng.Merge
 Set Rng = Range("G5:K5")
    UnMergeCells Rng:            Rng.Merge
 Set Rng = Range("b6:C6")
    UnMergeCells Rng:            Rng.Merge
 Set Rng = Range("d6:e6")
    UnMergeCells Rng:            Rng.Merge
 Set Rng = Range("B7:C7")
    UnMergeCells Rng:            Rng.Merge
 Set Rng = Range("B8:e8")
    UnMergeCells Rng:            Rng.Merge
 Set Rng = Range("B9:e9")
    UnMergeCells Rng:            Rng.Merge
 Set Rng = Range("B10:e10")
    UnMergeCells Rng:            Rng.Merge
 Set Rng = Range("F11:K11")
    UnMergeCells Rng:            Rng.Merge
 Set Rng = Range("A13:d13")
    UnMergeCells Rng:            Rng.Merge
 Set Rng = Range("E13:H13")
    UnMergeCells Rng:            Rng.Merge
 Set Rng = Range("A14:d14")
    UnMergeCells Rng:            Rng.Merge
 Set Rng = Range("E14:H14")
    UnMergeCells Rng:            Rng.Merge
 Set Rng = Range("A15:d15")
    UnMergeCells Rng:            Rng.Merge
 Set Rng = Range("E15:H15")
    UnMergeCells Rng:            Rng.Merge
End Sub
Mã:
[B]Sub UnMergeCells(Clls As Range)[/B]
        Clls.UnMerge:       Clls.ClearContents
[B]End Sub[/B]


to SA_QD:

thanks bác SA_DQ nhiều lắm.
Mình đã làm được rồi. Dù sao cũng thank bác lại 1 lần nữa.:clap2::clapping:
 
Upvote 0
Vội đưa lên, khỏi để tác gia trông

sao không ai có ý kiến về vấn đề của mnình hết vậy?

Nhưng sau đó mình thấy có thể nhét các dòng lệnh lặp lại này vô vòng lặp!
Nếu tác gia vẫn cần dùng thì mình sẽ gởi qua tin nhắn!
Hay bạn nào cho chúng vô vòng lặp For . . . Next giúp Lubabi cái!?!
 
Upvote 0
Nhưng sau đó mình thấy có thể nhét các dòng lệnh lặp lại này vô vòng lặp!
Nếu tác gia vẫn cần dùng thì mình sẽ gởi qua tin nhắn!
Hay bạn nào cho chúng vô vòng lặp For . . . Next giúp Lubabi cái!?!
Sao bác không dùng luôn cái Union ạ. VD như:
PHP:
Sub Moi()
Dim Sh3 As Worksheet
Set Sh3 = Sheet3
    Union(Sh3.Range("B2:E2"), Sh3.Range("B3:O3"), Sh3.Range("B4:F4"), _
        Sh3.Range("A5"), Sh3.Range("G5:K5"), Sh3.Range("B6:E10"), _
        Sh3.Range("G9:O10"), Sh3.Range("B11:C11"), _
        Sh3.Range("F11:K11"), Sh3.Range("A13:J13"), _
        Sh3.Range("A14:H15")).ClearContents
End Sub
 
Upvote 0
Không đặng đâu Minh ơi!; Các ô đó là ô 'trộn' mà;
Hay 'Chú mày' dùng E2007?
Dạ thưa bác, em dùng E2003 mà. Cái code đã để ý tới những ô 'trộn' (VD ô merge từ B2 tới E2 thì em đã chọn luôn là Range("B2:E2") để khắc phục) và em chạy thử rồi thấy OK ạ
 
Upvote 0
Cám ơn anh Minh và bác SA_DQ nhiều lắm. được như thế này là quá tốt đv em rồi. Ah mà này các bác các bạn của mình khi sử dung có xóa nhầm những ô tiêu đề như: BK No, Room, Payment, Com, Tour,..... nhờ các bác giúp là làm sao không chọn được vào những ô này. xin đa tạ. Đa tạQQ
 
Lần chỉnh sửa cuối:
Upvote 0
Web KT

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

Back
Top Bottom