Các câu lệnh VBA đơn giản

Liên hệ QC

hung2412

Thành viên tích cực
Tham gia
5/8/08
Bài viết
905
Được thích
239
Giới tính
Nam
- Chọn 1 ô cụ thể:
PHP:
Range("A1").Select
'Hoặc:
[A1].Select
- Bôi đen toàn bộ Sheet:
PHP:
Cells.Select
- Chọn khối ô dữ liệu từ trên xuống dưới liền mạch (Chọn cả khối dữ liệu):
PHP:
Range(Selection, Selection.End(xlDown)).Resize(, 17).Select
Hoặc:
Range([B6], [B6].End(xlDown))
- Chọn khối ô dữ liệu từ trên xuống dưới liền mạch (Theo chủ động):
PHP:
Range([B10], [B65000].End(xlUp).Offset(-1,0)).Select
Hoặc:
Range([B1].End(xlDown).Offset(1), [B65000].End(xlUp).Offset(-2)).Select
Hoặc:
Range([B9], [B65000].End(xlUp).Offset(-1)).Offset(, -1).Resize(, 12).Select
- Chọn Sheet hiện hành:
PHP:
Windows("623 - nam non.xls").Activate
Hoặc:
Sheets("Sheet1").Select
- Xóa bỏ Sheet:
PHP:
 ActiveWindow.SelectedSheets.Delete
Hoặc:
Sheets("Sheet1").Delete
- Tìm kiếm ô có dữ liệu:
PHP:
Cells.Find("NguyÔn V¨n Kiªn", , , , , , False, False).Activate
- Chọn ô dữ liệu từ dưới lên trên liền mạch (Không phải chọn cả khối dữ liệu):
PHP:
Range("M" & [M65000].End(xlUp).Row).Select
- Chọn ô dữ liệu từ dưới lên trên liền mạch (Không phải chọn cả khối dữ liệu):
PHP:
Selection.End(xlUp).Select
- Chọn ô dữ liệu từ trên xuống dưới liền mạch (Không phải chọn cả khối dữ liệu):
PHP:
Selection.End(xlDown).Select
- Đánh dữ liệu vào ô hiện hành:
PHP:
ActiveCell.FormulaR1C1 = "Tæng céng"
- Ô chứa giá trị do 2 ô bên cạnh bên trái trừ nhau:
PHP:
ActiveCell.FormulaR1C1 = "=RC[-2]-RC[-1]"
- Công thức Subtotal (Dòng tổng cộng hướng lên trên):
PHP:
Selection.Subtotal 2, xlSum, Array(5, 7), True, False, False
- Sort dữ liệu (Có tích vào Header row):
PHP:
Selection.Sort [B10], Order1:=xlAscending, Header:=xlYes, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal
- Copy rồi paste dữ liệu vào ô hoặc vùng mới (Trong cùng một Sheet):
PHP:
Range("E15:F17").Copy Range("E18")
- Cut rồi paste dữ liệu vào ô hoặc vùng mới (Trong cùng một Sheet):
PHP:
Range("E15:F17").Cut Range("E20")
- Copy ở Sheet này rồi paste dữ liệu vào ô hoặc vùng mới trong Sheet kia (Trong cùng một Workbook):
PHP:
Sheets(1).Range("E15:F17").Copy Sheets(2).Range("D2")
Hoặc:
Sheets("Sheet1").Range("E15:F17").Copy Sheets("Sheet2").Range("D2")
- Cut ở Sheet này rồi paste dữ liệu vào ô hoặc vùng mới trong Sheet kia (Trong cùng một Workbook):
PHP:
Sheets(1).Range("E15:F17").Cut Sheets(2).Range("D2")
Hoặc:
Sheets("Sheet1").Range("E15:F17").Cut Sheets("Sheet2").Range("D2")
- Chọn toàn bộ các ô có dữ liệu liền mạch quanh ô được chọn:
PHP:
Range("C7").CurrentRegion.Select
- Xóa ô hoặc nhiều ô hướng lên trên:
PHP:
Selection.Delete Shift:=xlUp
- Chọn nhiều ô cách nhau:
PHP:
Range("I10,I13,I16").Select
- Chọn một hoặc nhiều dòng (Cả dòng) liền nhau:
PHP:
Rows("1:5").Select
- Chọn nhiều dòng (Không phải cả dòng) liền nhau:
PHP:
Range("A27:G31").Select
- Chọn một dòng (Không phải cả dòng):
PHP:
Range("A27:G27").Select
- Chọn một dòng (Cả dòng):
PHP:
Rows("13:13").Select
- Chọn nhiều dòng (Cả dòng) cách nhau (Không liền nhau):
PHP:
Range("5:5,3:3,21:21").Select
- Thêm một dòng hoặc nhiều dòng:
PHP:
Rows("4:5").Insert
- Xóa một dòng hoặc nhiều dòng:
PHP:
Selection.Delete xlUp
- Chọn một cột (Cả cột):
PHP:
Columns("M:M").Select
- Chọn một cột (Không phải cả cột):
PHP:
Range("J6:J10").Select
- Chọn nhiều cột (Không phải cả cột) liền nhau:
PHP:
Range("I5:L16").Select
- Chọn nhiều cột (Cả cột) liền nhau:
PHP:
Columns("D:G").Select
- Chọn nhiều cột (Cả cột) vừa cách nhau, vừa liền nhau:
PHP:
Range("K:L,B:B").Select
- Chọn nhiều cột (Cả cột) cách nhau (Không liền nhau):
PHP:
Range("M:M,O:O,Q:Q,R:R").Select
- Thêm một cột hoặc nhiều cột:
PHP:
Selection.Insert xlToRight
- Xóa một cột hoặc nhiều cột một lúc:
PHP:
Selection.Delete xlToLeft
- Co dãn cột theo chủ đích:
PHP:
Columns("B:B").ColumnWidth = 32.57
Columns("C:C").ColumnWidth = 9.57
- Co dãn dòng theo chủ đích:
PHP:
Rows("10:10").RowHeight = 32.25
- Co dãn cột theo tự động:
PHP:
Columns("G:G").EntireColumn.AutoFit
- Co dãn dòng theo tự động:
PHP:
Range("2:4,6:6,13:14").EntireRow.AutoFit
- Chữ nghiêng:
PHP:
Selection.Font.Italic = True
- Chữ đậm:
PHP:
Selection.Font.Bold = True
- Copy dữ liệu rồi dán dữ liệu thành giá trị chết (Không còn công thức) (Không có chọn các ô trống nguồn đè lên các ô đích):
PHP:
 [I15:I17].Value = [I15:I17].Value
- Copy dữ liệu rồi dán dữ liệu thành giá trị chết (Không còn công thức) (Có chọn không để các ô trống nguồn đè lên các ô đích):
PHP:
Range("C:C").Copy: Range("B:B").PasteSpecial , xlNone, True, False
  Application.CutCopyMode = False
- Copy tính chất từ ô nguồn rồi paste vào các ô đích để đồng bộ với tính chất của ô nguồn:
PHP:
Selection.PasteSpecial , xlAdd, False, False
- Thêm Sheet mới:
PHP:
Sheets.Add
- Chuyển Sheet2 xếp sau Sheet 1:
PHP:
Sheets("Sheet2").Move After:=Sheets(2)
- Chọn Sheet bên trái liền kề với Sheet đang chọn:
PHP:
ActiveSheet.Previous.Select
- Chọn Sheet bên phải liền kề với Sheet đang chọn:
PHP:
ActiveSheet.Next.Select
- Hủy chọn khối đang cut hoặc copy (Có đàn kiến đang chạy quanh khối được chọn):
PHP:
Application.CutCopyMode = False
- Ghép các ô với nhau thành một:
PHP:
Range("G6:H6").Merge
- Bỏ ghép các ô với nhau thành một:
PHP:
Range("G6:H6").UnMerge
- Chọn nhiều dòng (Không phải cả dòng) một lúc để ghép các ô trên các dòng đó thành một (Cho tiện đỡ phải chọn từng dòng một để rồi sau đó trộn các ô với nhau):
PHP:
Range("A3:G3,A4:G4,A5:G5").Select
- Tìm các ô rỗng:
PHP:
Selection.SpecialCells(xlCellTypeBlanks).Select
- Tìm các ô chứa số chết (Không phải công thức):
PHP:
Selection.SpecialCells(xlCellTypeConstants, 1).Select
- Tìm các ô chứa bị lỗi (Không phải công thức):
PHP:
Selection.SpecialCells(xlCellTypeConstants, 16).Select
- Tìm các ô chứa ký tự (Không phải công thức):
PHP:
Selection.SpecialCells(xlCellTypeConstants, 2).Select
- Tìm các ô chứa số (Công thức):
PHP:
Selection.SpecialCells(xlCellTypeFormulas, 1).Select
- Tìm các ô chứa ký tự (Công thức):
PHP:
Selection.SpecialCells(xlCellTypeFormulas, 2).Select
- Tìm các ô chứa bị lỗi (Công thức):
PHP:
Selection.SpecialCells(xlCellTypeFormulas, 16).Select
- Căn chữ trong ô sang trái:
PHP:
Selection.HorizontalAlignment = xlLeft
- Căn chữ trong ô vào giữa (Theo chiều ngang):
PHP:
Selection.HorizontalAlignment = xlCenter
- Tự động co dãn các ô cho vừa:
PHP:
Rows("6:7").WrapText = True
- Kẻ dòng bên trên khối chọn (Nét liền):
PHP:
Selection.Borders(xlEdgeTop).LineStyle = xlContinuous
- Kẻ dòng bên trái khối chọn (Nét liền):
PHP:
Selection.Borders(xlEdgeLeft).LineStyle = xlContinuous
- Kẻ dòng bên dưới khối chọn (Nét liền):
PHP:
Selection.Borders(xlEdgeBottom).LineStyle = xlContinuous
- Kẻ dòng bên phải khối chọn (Nét liền):
PHP:
Selection.Borders(xlEdgeRight).LineStyle = xlContinuous
- Kẻ hàng dọc bên trong khối chọn (Nét liền):
PHP:
Selection.Borders(xlInsideVertical).LineStyle = xlContinuous
- Kẻ hàng ngang bên trong khối chọn (Nét liền):
PHP:
Selection.Borders(xlInsideHorizontal).LineStyle = xlContinuous
- Kẻ dòng bên trái khối chọn (Nét đứt):
PHP:
Selection.Borders(xlEdgeLeft).LineStyle = xlContinuous
 Selection.Borders(xlEdgeLeft).Weight = xlHairline
- Kẻ dòng bên trên khối chọn (Nét đứt):
PHP:
 Selection.Borders(xlEdgeTop).LineStyle = xlContinuous
 Selection.Borders(xlEdgeTop).Weight = xlHairline
- Kẻ dòng bên dưới khối chọn (Nét đứt):
PHP:
Selection.Borders(xlEdgeBottom).LineStyle = xlContinuous
 Selection.Borders(xlEdgeBottom).Weight = xlHairline
- Kẻ dòng bên phải khối chọn (Nét đứt):
PHP:
Selection.Borders(xlEdgeRight).LineStyle = xlContinuous
Selection.Borders(xlEdgeRight).Weight = xlHairline
- Kẻ hàng dọc bên trong khối chọn (Nét đứt):
PHP:
 Selection.Borders(xlInsideVertical).LineStyle = xlContinuous
 Selection.Borders(xlInsideVertical).Weight = xlHairline
- Kẻ hàng ngang bên trong khối chọn (Nét đứt):
PHP:
Selection.Borders(xlInsideHorizontal).LineStyle = xlContinuous
Selection.Borders(xlInsideHorizontal).Weight = xlHairline
- Bỏ dòng kẻ toàn bộ ô:
PHP:
Cells.Select
    Selection.Borders(xlDiagonalDown).LineStyle = xlNone
    Selection.Borders(xlDiagonalUp).LineStyle = xlNone
    Selection.Borders(xlEdgeLeft).LineStyle = xlNone
    Selection.Borders(xlEdgeTop).LineStyle = xlNone
    Selection.Borders(xlEdgeBottom).LineStyle = xlNone
    Selection.Borders(xlEdgeRight).LineStyle = xlNone
    Selection.Borders(xlInsideVertical).LineStyle = xlNone
    Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
- Căn chỉnh dữ liệu vào giữa ô theo chiều dọc trong ô:
PHP:
Selection.VerticalAlignment = xlCenter
- Đang chọn khối chọn nhưng muốn mở rộng thêm khối chọn ở bên phải:
PHP:
Selection.Resize(, 3).Select
- Cố định dòng và cột:
PHP:
ActiveWindow.FreezePanes = True
- TextToColumns:
PHP:
Selection.TextToColumns [G1], DataType:=xlFixedWidth, FieldInfo:=Array(0, 1), TrailingMinusNumbers:=True
- Định dạng số:
PHP:
Selection.NumberFormat = "#,##0"
- Đổi tên Sheet:
PHP:
Sheets("Sheet1").Name = "Sheet2"
- Tính tổng subtotal:
PHP:
ActiveCell.FormulaR1C1 = "=subtotal(9,R9C12:R[-1]C)"
- Tô màu những ô bị lỗi (#N/A, #VALUE!, #REF!, #DIV/0!, #NUM!, #NAME?, #NULL!):
PHP:
Range("O9:P9").Select
 Range(Selection, Selection.End(xlDown)).Select
 Selection.FormatConditions.Add Type:=xlExpression, Formula1:="=ISERROR(O9)"
 Selection.FormatConditions(1).Interior.ColorIndex = 6
- Tô màu những ô bị trùng:
PHP:
Selection.FormatConditions.Add Type:=xlExpression, Formula1:= "=COUNTIF(M:$M;M9)>1"
  Selection.FormatConditions(1).Interior.ColorIndex = 33
- Bôi đen khối chọn (Tương đương Shift + Ctrl + end):
PHP:
Range("F8").Select
 Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Resize(, 1).Select
- Tô màu:
PHP:
Range("G10:G12").Interior.ColorIndex = 6
- Xóa màu:
PHP:
Range("G10:G12").Interior.ColorIndex = xlNone
- Xóa CF:
PHP:
 Range("E14:F20").FormatConditions.Delete
- Đổi tên Sheet:
PHP:
Sheets("Sheet1").Name = "Sheet2"
- Copy Sheet ở file này sang file kia:
PHP:
Sheets("Sheet2").Copy After:=Workbooks("141 - a. gian nam non cu.xls").Sheets (1)
- Bỏ qua lỗi:
PHP:
On Error Resume Next
- Vô hiệu hóa hiện bảng đòi update khi mở file:
PHP:
ActiveWorkbook.UpdateLinks = xlUpdateLinksNever
- Tắt chế độ hiện hộp thoại khi xóa Sheet:
PHP:
Application.DisplayAlerts = False
- Chọn cả dòng tại vị trí khối ô chọn:
PHP:
Selection.EntireRow.Select
- Chọn cả cột tại vị trí khối ô chọn:
PHP:
Selection.EntireColumn.Select
- Xóa ô:
PHP:
Range("A15").ClearContents
- Chọn nhiều Sheet trong 1 file (Theo số thứ tự từ trái qua phải):
PHP:
Worksheets(Array(1, 2)).Delete
- Bỏ cột 1, 2, 3 sau khi dùng lệnh nhóm Subtotal:
PHP:
Cells.ClearOutline
- Làm cho cả bảng tính về giá trị (Không còn công thức):
PHP:
Cells.Copy: Cells.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
- Ẩn toàn bộ giá trị bằng 0:
PHP:
ActiveWindow.DisplayZeros = False
- Đặt số trang, giữ dòng tiêu đề và đặt trang nằm ngang:
PHP:
ActiveSheet.PageSetup.CenterFooter = "Trang &P"
ActiveSheet.PageSetup.PrintTitleRows = "$6:$7"
ActiveSheet.PageSetup.Orientation = xlLandscape



* Chú ý:
Sheets(1) => Thể hiện Sheet thứ nhất từ bên trái ngoài cùng (Thể hiện số thứ tự của Sheet, không phải là tên Sheet1)
Sheets("Sheet1") => Thể hiện tên Sheet1 (Không phải là số thứ tự của Sheet)
 
Lần chỉnh sửa cuối:
Bạn nên gom lại từng loại từng loại thì hay hơn đó. Cái nào định dạng ra định dạng, cái nào liên quan tới copy paste ra 1 dạng, cái nào công thức ra 1 dạng, cái nào gotospecial ra 1 dạng..... Như vậy thì người đọc sẽ. Dễ dàng hiểu hơn, với lại nên viết tường minh và tránh viết tắt
 
Upvote 0
Nếu là mình, thì tiêu đề topic này sẽ là:

"Các câu lệnh VBA đơn giản để làm việc trên trang tính."
 
Upvote 0
Bạn viết thế này nghe người mới học VBA cũng choáng váng, có lẽ cũng nên phân loại ra đâu là phương thức, đâu là thuộc tính, đâu là hàm số..
 
Upvote 0
- Viết tiếp đi bạn [hung2412], rất hay với người mới học
- Rất mong các thành viên có kinh nghiệm đóng góp và bổ sung
 
Lần chỉnh sửa cuối:
Upvote 0
Thật tình em mới chỉ là Amater thôi ạ. Em cũng chả biết phân loại như thế nào nữa, mong là có chư vị cao thủ có kinh nghiệm phân loại dùm ạ.
 
Upvote 0
Thật tình em mới chỉ là Amater thôi ạ. Em cũng chả biết phân loại như thế nào nữa, mong là có chư vị cao thủ có kinh nghiệm phân loại dùm ạ.

Em thấy rất hay và có ích cho những người mới tham gia như em. Cảm ơn anh Hung2412.
Anh post tiếp bài để chia sẻ kinh nghiệm đi anh.
 
Upvote 0
cảm ơn hung2412 rất nhiều, đọc sách mấy ngày này mà lang mang cả lên. ko bằng mấy câu code thực tế này }}}}}
 
Upvote 0
Lâu rồi mới thấy bạn hung2412 xuất hiện, tôi nghĩ sau một thời gian luyện công khả năng code của bạn cũng khá và rõ ràng hơn nhiều rồi, và có thể cách viết cũng rõ ràng hơn trước, nếu rảnh hy vọng bạn tiếp tục viết bài dạng như những bài trên nhưng rõ ràng hơn, để các thành viên mới vào học hỏi và xem đó là niềm vui khi có người đọc và hiểu bài của mình
 
Upvote 0
những kiến thức khá cơ bản, hi vọng bạn chia sẻ thêm nhiều kinh nghiệm cho những người mới như mình ^^
 
Upvote 0
Lâu rồi mới thấy bạn hung2412 xuất hiện, tôi nghĩ sau một thời gian luyện công khả năng code của bạn cũng khá và rõ ràng hơn nhiều rồi, và có thể cách viết cũng rõ ràng hơn trước, nếu rảnh hy vọng bạn tiếp tục viết bài dạng như những bài trên nhưng rõ ràng hơn, để các thành viên mới vào học hỏi và xem đó là niềm vui khi có người đọc và hiểu bài của mình
Giờ tôi khá bận nên không có thời gian viết bài. Tuy không viết bài nhưng tôi vẫn vào GPE như một thói quen.
Cảm ơn bạn đã nhớ đến tôi.
 
Upvote 0
những kiến thức khá cơ bản, hi vọng bạn chia sẻ thêm nhiều kinh nghiệm cho những người mới như mình ^^
Hồi tôi đăng bài này cách đây hơn 1 năm với trình độ lúc đó còn kém (Vì hồi đó tôi đăng bài để hỏi liên tục). Nghĩ lại cũng buồn cười.
 
Upvote 0
Hồi tôi đăng bài này cách đây hơn 1 năm với trình độ lúc đó còn kém (Vì hồi đó tôi đăng bài để hỏi liên tục). Nghĩ lại cũng buồn cười
mình thấy bài viết hay mà bạn, cần cho người mới tập tò như mình
 
Upvote 0
Cũng mong là ai đó xung phong dịch tứ các câu lệnh VBA trên sang tiếng Việt, nhỉ!

Xin cảm ơn trước!
 
Upvote 0
uổi. khi nói tới các câu lệnh vba người ta nghĩ ra ngay if then while for. mấy cái trên không rõ nó thuộc thể loại nào? tất cả những cái trên chỉ là phép gán thuộc tính và gọi phương thức thôi. nếu phânloaij thì phânloaij theo kiểu range worksheet...
 
Upvote 0
uổi. khi nói tới các câu lệnh vba người ta nghĩ ra ngay if then while for. mấy cái trên không rõ nó thuộc thể loại nào? tất cả những cái trên chỉ là phép gán thuộc tính và gọi phương thức thôi. nếu phânloaij thì phânloaij theo kiểu range worksheet...
Ơ hơ, đã nói chuyện "đơn giản" mà bạn còn phân tích phân biệt giữa câu lệnh và phép gán thuộc tính. Hiểu đơn giản sao nổi.
Bài #2, #3, #4 đã có nói rồi. Nhưng bài #7 trở đi nhìn nhận là nó hữu ích mờ. Có lẽ nó hữu ích thật khi được trình bày bởi "amater [sic]"
 
Upvote 0
Hồi tôi đăng bài này cách đây hơn 1 năm với trình độ lúc đó còn kém (Vì hồi đó tôi đăng bài để hỏi liên tục). Nghĩ lại cũng buồn cười.
1 năm nữa rồi đấy!
bạn có cách nào học VBA từng bước đơn giản nhất không?
 
Upvote 0
Dịch sang tiếng Việt là sao bạn!? toàn cú pháp của VBA thì dịch là dịch thế nào? giống như bạn muốn viết tiếng Anh thì bạn phải dùng English thôi.
Muốn viết VBA thì phải học ngôn ngữ VBA
Thứ nhất: Đã xác định với nhau VBA là 1 ngôn ngữ, cho dù là của máy tính đi chăng nữa;
Đã là ngôn ngữ ngoài tiếng mẹ đẻ, thì trong quá trình học không ai là không phải trãi qua bước dịch sang ngôn ngữ mẹ để của mình.

Thêm nữa, theo mình trong các khâu đọc, nghe, nói , dịch chậm, dịch nhanh (dịch chạy) thì độ khó sẽ tăng lên & có nghĩa sự lĩnh hội của bạn về ngôn ngữ í đã tăng lên;

Những mong bạn không phản đối í kiến riêng này của mình & chúc cuối tuần vui vẻ!
 
Upvote 0
Web KT
Back
Top Bottom