Top 10 # Xóa Object Trong Excel 2013 Xem Nhiều Nhất, Mới Nhất 5/2023 # Top Trend | Trucbachconcert.com

26. Các Đối Tượng Trong Vba Excel (Excel Objects)

Khi dùng VBA trong excel bạn cần nhớ 4 đối tượng này:

Application Objects

Workbook Objects

Worksheet Objects

Range Objects

Đối tượng application trong Excel VBA là đối tượng được sử dụng thường xuyên nhất khi thực hiện bất kỳ tác vụ nào với VBA.

Các thuộc tính cơ bản trong VBA: Các phương thức (Events) cơ bản trong VBA:

– ScreenUpdating

Điều khiển cập nhật màn hình: Khi điều khiển các đối tượng (sheets, range, cells), việc vô hiệu hóa cập nhật màn hình (tránh nhấp nháy) giúp tốc độ code nhanh hơn.

– Calculation

Mặc định thiết lập bảng tính tự động tính toán (CalculationAutomatic), khi điều khiển các đối tượng (sheets, range, cells), ví dụ gán kết quả xuống bảng tính, các công thức thực hiện tính toán với giá trị vừa được gán, máy tính phải xử lý thêm tác vụ, làm giảm tốc độ code thực hiện lệnh. Vậy, để tăng tốc độ cho code ta sẽ chuyển thiết lập về dạng thủ công (CalculationManual).Xem 2 ví dụ để so sánh:

Ví dụ 1:

Sub ScreenAndCal_ON() 'Vô hiêu hóa câp nhât màn hình Application.ScreenUpdating = False 'Thiêt lâp tinh toan vê dang thu công Application.Calculation = xlCalculationManual Dim i As Long, T As Double 'Lây gôc thoi gian chay code: T = Timer 'Vòng lap gan sô thu tu: 1 - 100 000 For i = 1 To 100000 Sheet1.Range("A1").Offset(i, 0).Value = i Next i 'Câp nhât màn hình Application.ScreenUpdating = True 'Thiêt lâp tinh toan vê dang tu dông Application.Calculation = xlCalculationAutomatic 'Thoi gian hoàn thành: MsgBox Round(Timer - T, 2) & " giây" 'T=2.62 giây End Sub

Ví dụ 2:

Sub ScreenAndCal_OFF() Dim i As Long, T As Double 'Lây gôc thoi gian chay code: T = Timer 'Vòng lap gan sô thu tu: 1 - 100 000 For i = 1 To 100000 Sheet1.Range("A1").Offset(i, 0).Value = i Next i 'Thoi gian hoàn thành: MsgBox Round(Timer - T, 2) & " giây" 'T=3.12 giây End Sub

– DisplayAlerts

Điều khiển hộp thoại thông báo khi thực thi code.

– Khi đóng file, xuất hiện hộp thoại:

Code:

Sub Alert_Close() Application.DisplayAlerts = False ActiveWorkbook.Close Application.DisplayAlerts = True End Sub

khi đó, Excel đóng mà không lưu bảng tính, tương ứng với chọn “Don’t Save”

– WorksheetFunction

Sử dụng thuộc tính WorksheetFunction để gọi các hàm trong bảng tính.

Cú pháp:

Application.WorksheetFunction.Formula

Với Formula là một hàm trong bảng tính (sum, countA, Match…)

Ví dụ:

Sub Worksheet_Function() Dim WF As WorksheetFunction Set WF = Application.WorksheetFunction Dim aCount As Long MsgBox aCount 'Hoac viet gôp: Dim maxValue As Long maxValue = Application.WorksheetFunction.Max(Sheet1.Range("A2:A100")) MsgBox maxValue End Sub

– GetOpenFilename

Cú pháp:

Application.GetOpenFilename([FileFilter],[FilterIndex],[Title],[ButtonText],MultiSelect])

FileFilter: Chuỗi đưa ra điều kiện lọc loại tập tin trong cửa sổ chọn.

FilterIndex: Chỉ định chỉ số của loại tập tin mặc định được lọc.

Title: Tiêu đề của hộp thoại chọn tập tin, mặc định là “Open”.

ButtonText: Với MAC OS.

MultiSelect: True cho phép chọn nhiều tập tin, False (mặc định) chỉ cho chọn một.

Ví dụ:

Sub GetFileName_Any() Dim FilePath As String FilePath = Application.GetOpenFilename() MsgBox FilePath End Sub Sub GetFileName_Excel() Dim FilePath As String FilePath = Application.GetOpenFilename("Excel file (*.xlsx), *.xlsx") MsgBox FilePath 'Workbooks.Open (OpenFile) End Sub

2.Workbook Objects

Đối tượng Workbook trong Excel VBA là một trong những đối tượng được sử dụng thường xuyên nhất trong khi tự động hóa bất kỳ tác vụ nào với VBA. Bài này cung cấp các phương thức hay sử dụng của đối tượng Workbook.

Mỗi đối tượng Workbook tương ứng với một file excel.

Các phương thức của Workbook giúp chúng ta thực hiện các hành động khác nhau với Excel Workbooks. Ví dụ, chúng ta có thể Kích hoạt một Workbook và Xóa một Workbook hoặc Move Workbook. Và chúng ta cũng có thể Protect và UnProtect Workbooks.

Các phương thức (Events) cơ bản trong VBA :

Ví dụ cách khai báo:

'Ví dụ 1 : Đóng workbooks Workbooks.Close 'Ví dụ 2 : Thêm workbook mới Workbooks.Add 'Ví dụ 3 : Mở workbook Workbooks.Open FileName:="Test.xls", ReadOnly:=True 'Ví dụ 4 : Activate workbook Workbooks("Test.xls").Worksheets("Sheet1").Activate 'Ví dụ 5 : Save workbook Workbooks("Workbook Name").Save 'Ví dụ 6 : Save as workbook Dim wb As Workbook Set wb = Workbooks.Add wb.SaveAs Filename:="D:testSample.xlsx" 'Ví dụ 7 : SaveCopyAs Workbook Workbooks("Workbook Name").Save 'Ví dụ 8 : SaveCopyAs Workbook ThisWorkbook.SaveCopyAs chúng tôi & "" & "ver1_" & ThisWorkbook.Name

3.Worksheet Objects

Đối tượng Worksheet trong Excel VBA là một trong những đối tượng được sử dụng thường xuyên nhất trong khi tự động hoá các tác vụ với VBA.

Đối tượng Worksheet đại diện cho các sheet trong Workbook, tức là mỗi Workbook chứa một hoặc nhiều Worksheet.

Các phương thức (Events) cơ bản trong VBA: Ví dụ cách khai báo trong VBA:

vd 1 : ẩn worksheet Worksheets(1).Visible = False 'vd 2 : Đặt mật khẩu cho WorkSheet Worksheets("Sheet1").Protect password:=strPassword, scenarios:=True 'vd 3: Active sheet Worksheets("data").Activate 'Or Sheets("data").Activate 'vd 4: Copy Worksheet trong VBA với Before Worksheets("Sheet3").Copy Before:=Worksheets(1) 'vd 5: Copy Worksheet trong VBA với After Worksheets("Sheet3").Copy After:=Worksheets(Worksheets.Count) 'vd 6: Xóa Worksheet Sheets("Sheet2").Delete ' or Sheet2.Delete 'vd 7: Xóa Worksheet trong VBA - không hiển thị alert Application.DisplayAlerts = False Sheets("Sheet2").Delete Application.DisplayAlerts = True

4.Range Objects

Đối tượng Range là đại diện của một cell (hoặc cells) trên Worksheet, là đối tượng quan trọng nhất của Excel VBA.

Ví dụ:

'vd 1 : Đưa dữ liệu vào ô A5 Worksheets("Sheet1").Range("A5").Value = "5235" 'vd 2 : Đưa dữ liệu vào range A1:A4 Worksheets("Sheet1").Range("A1:A4").Value = 5 'vd 3 : Khai báo một range và set giá trị bằng 8 Dim rangeObj As Range Set rangeObj = Range("A1:C4") rangeObj .Value = 8

Các phương thức (Events) cơ bản trong VBA:

Xóa Dòng Trống Trắng Trong Excel Bằng Vba Marco 2007 2010 2013

Word, Excel, PowerPoint ” Học Excel, Mẹo Excel

Marco là một trong những chức năng nâng cao giúp Excel xử lý văn bản mạnh mẽ hơn. Trong bài viết này chúng tôi sẽ giúp bạn xóa dòng trống trắng trong Excel bằng VBA Marco 2007 2010 2013.

Marco là chức năng mà không phải ai cũng biết và không phải ai cũng sử dụng được. Bởi nó yêu cầu những kiến thức nâng cao về Excel và dòng lệnh. Chính vì thế hầu hết người dùng đều “nhăn nhó” khi phải tiếp xúc với chức năng này của Excel.

Xóa dòng trống trắng trong Excel bằng VBA Marco 2007 2010 2013

Bước 1: Đầu tiên bạn sử dụng tổ hợp phím Alt-F11 để khởi chạy Microsoft Visual basic for application.

.Calculation = xlCalculationManual

For i = Selection.Rows.Count To 1 Step -1

If WorksheetFunction.CountA(Selection.Rows(i)) = 0 Then

Selection.Rows(i).EntireRow.Delete

.Calculation = xlCalculationAutomatic

Bước 3: Sau cùng hãy dán đoạn mã vào VBA Marco rồi bấm nút Run để chạy.

https://thuthuat.taimienphi.vn/xoa-dong-trong-excel-bang-vba-marco-4486n.aspx Như vậy là chúng tôi vừa giới thiệu tới bạn cách xóa dòng trống trắng trong Excel bằng VBA Marco 2007 2010 2013. Thực chất bạn hoàn toàn có thể thực hiện thao tác này bằng tay, tuy nhiên chạy đoạn mã trên sẽ giúp bạn tiết kiệm được thời gian và sức lực hơn. Ngoài ra chúng tôi cũng hướng dẫn cách tạo marco trong Excel. Nếu quan tâm, hãy tham khảo để biết thêm chi tiết.

Đổi số âm thành số dương trong Excel Đảo ngược tiêu đề dòng từ phải qua trái trong Excel 2007, 2010, 2013, 2016 Giãn dòng trong Excel như thế nào là chuẩn Cách xóa bỏ khoảng trắng dư thừa ở đầu và cuối text trong bảng tính Excel Hàm MsgBox trong VBA

xoa dong trong excel bang vba marco 2007

, xoa dong trong trang trong excel, xoa dong bang vba marco 2007,

Chuyển file Excel sang hình ảnh Excel to Image Converter là chương trình cung cấp tới người sử dụng những công cụ mạnh mẽ trong việc chuyển đổi các tệp tin Excel sang định dạng JPG/TIFF/BMP/EPS/PS/PNG/PCX được hiệu quả và chất lượng tốt.

Tin Mới

Cách tạo gạch chéo trong ô Excel 2016

Trong một ô Excel 2016, bạn có thể chia ra thành nhiều ô nhỏ, thông thường chúng ta hay sử dụng đường kẻ thẳng còn đường kẻ chéo rất ít người biết tới. Chính vì vậy, bài viết này sẽ hướng dẫn bạn cách tạo gạch chéo trong ô Excel 2016, tức là chia 1 ô bất kỳ thành hai ô tam giác.

Cách mặc định font chữ trong Excel 2016

Excel 2016 sử dụng font chữ Calibri mặc định trong Windows. Tuy nhiên, nếu bạn muốn sử dụng phông chữ khác hoặc thay đổi kích thước mặc định, bạn có thể dễ dàng điều chỉnh cài đặt trong màn hình tùy chọn Excel 2016 rất đơn giản.

Cách giao việc trên Google Sheet trực tuyến

Tính năng giao việc trên Google Sheet giúp kết nối, tăng tương tác giữa các thành viên khi làm việc theo nhóm trực tuyến, khi cần giao việc người dùng chỉ cần thao tác ngay trên bảng tính tiết kiệm thời gian thay vì phải sử dụng thêm các phần mềm chat hay quản lý công việc khác.

Qua bài thơ Sóng của Xuân Quỳnh, chứng minh nhận định…

Nhằm hỗ trợ các em học sinh dễ dàng hơn trong việc hoàn thành yêu cầu: “Qua bài thơ Sóng của Xuân Quỳnh, chứng minh nhận định…”, chúng tôi sẽ hướng dẫn các em cách phân tích bài thơ Sóng tổng quát và phân tích vẻ đẹp bình dị của người phụ nữ trong tình yêu chi tiết. Thông qua những gợi ý trong bài viết này, các em sẽ biết cách lựa chọn dẫn chứng, chứng minh, làm sáng tỏ vấn đề một cách rành mạch, rõ ràng, khoa học hơn.

26. Các Đối Tượng Trong Vba Excel (Excel Objects) – Blog Chia Sẽ Kiến Thức Học Excel

Khi dùng VBA trong excel bạn cần nhớ 4 đối tượng này:

Application Objects

Workbook Objects

Worksheet Objects

Range Objects

Đối tượng application trong Excel VBA là đối tượng được sử dụng thường xuyên nhất khi thực hiện bất kỳ tác vụ nào với VBA.

Các thuộc tính cơ bản trong VBA:

PropertiesMô tảDisplayAlertsĐể đại diện cho hiển thị cảnh báo.PathĐể có được đường dẫn tuyệt đối của ứng dụng.ScreenUpdatingĐể bật/tắt màn hình.

Các phương thức (Events) cơ bản trong VBA:

Phương thứcMô tảFindFileĐể mở hộp thoại để mở một file.GotoĐể chọn bất kỳ range nào.RunĐể chạy một thủ tục hoặc một hàmWaitĐể tạm ngưng chương trình macro.

– ScreenUpdating

Điều khiển cập nhật màn hình: Khi điều khiển các đối tượng (sheets, range, cells), việc vô hiệu hóa cập nhật màn hình (tránh nhấp nháy) giúp tốc độ code nhanh hơn.

– Calculation

Mặc định thiết lập bảng tính tự động tính toán (CalculationAutomatic), khi điều khiển các đối tượng (sheets, range, cells), ví dụ gán kết quả xuống bảng tính, các công thức thực hiện tính toán với giá trị vừa được gán, máy tính phải xử lý thêm tác vụ, làm giảm tốc độ code thực hiện lệnh. Vậy, để tăng tốc độ cho code ta sẽ chuyển thiết lập về dạng thủ công (CalculationManual).Xem 2 ví dụ để so sánh: 

Ví dụ 1:

Sub ScreenAndCal_ON() 'Vô hiêu hóa câp nhât màn hình Application.ScreenUpdating = False 'Thiêt lâp tinh toan vê dang thu công Application.Calculation = xlCalculationManual Dim i As Long, T As Double 'Lây gôc thoi gian chay code: T = Timer 'Vòng lap gan sô thu tu: 1 - 100 000 For i = 1 To 100000 Sheet1.Range("A1").Offset(i, 0).Value = i Next i 'Câp nhât màn hình Application.ScreenUpdating = True 'Thiêt lâp tinh toan vê dang tu dông Application.Calculation = xlCalculationAutomatic 'Thoi gian hoàn thành: MsgBox Round(Timer - T, 2) & " giây" 'T=2.62 giây End Sub

Ví dụ 2:

Sub ScreenAndCal_OFF() Dim i As Long, T As Double 'Lây gôc thoi gian chay code: T = Timer 'Vòng lap gan sô thu tu: 1 - 100 000 For i = 1 To 100000 Sheet1.Range("A1").Offset(i, 0).Value = i Next i 'Thoi gian hoàn thành: MsgBox Round(Timer - T, 2) & " giây" 'T=3.12 giây End Sub

– DisplayAlerts

Điều khiển hộp thoại thông báo khi thực thi code.

– Khi đóng file, xuất hiện hộp thoại:

Code:

Sub Alert_Close() Application.DisplayAlerts = False ActiveWorkbook.Close Application.DisplayAlerts = True End Sub

khi đó, Excel đóng mà không lưu bảng tính, tương ứng với chọn “Don’t Save”

– WorksheetFunction

Sử dụng thuộc tính WorksheetFunction để gọi các hàm trong bảng tính.

Cú pháp:

Application.WorksheetFunction.Formula

Với Formula là một hàm trong bảng tính (sum, countA, Match…)

Ví dụ:

Sub Worksheet_Function() Dim WF As WorksheetFunction Set WF = Application.WorksheetFunction Dim aCount As Long MsgBox aCount 'Hoac viet gôp: Dim maxValue As Long maxValue = Application.WorksheetFunction.Max(Sheet1.Range("A2:A100")) MsgBox maxValue End Sub

– GetOpenFilename

Cú pháp:

Application.GetOpenFilename([FileFilter],[FilterIndex],[Title],[ButtonText],MultiSelect])

FileFilter: Chuỗi đưa ra điều kiện lọc loại tập tin trong cửa sổ chọn.

FilterIndex: Chỉ định chỉ số của loại tập tin mặc định được lọc.

Title: Tiêu đề của hộp thoại chọn tập tin, mặc định là “Open”.

ButtonText: Với MAC OS.

MultiSelect: True cho phép chọn nhiều tập tin, False (mặc định) chỉ cho chọn một.

Ví dụ:

Sub GetFileName_Any() Dim FilePath As String FilePath = Application.GetOpenFilename() MsgBox FilePath End Sub Sub GetFileName_Excel() Dim FilePath As String FilePath = Application.GetOpenFilename("Excel file (*.xlsx), *.xlsx") MsgBox FilePath 'Workbooks.Open (OpenFile) End Sub

2.Workbook Objects

Đối tượng Workbook trong Excel VBA là một trong những đối tượng được sử dụng thường xuyên nhất trong khi tự động hóa bất kỳ tác vụ nào với VBA. Bài này cung cấp các phương thức hay sử dụng của đối tượng Workbook.

Mỗi đối tượng Workbook tương ứng với một file excel.

Các phương thức của Workbook giúp chúng ta thực hiện các hành động khác nhau với Excel Workbooks. Ví dụ, chúng ta có thể Kích hoạt một Workbook và Xóa một Workbook hoặc Move Workbook. Và chúng ta cũng có thể Protect và UnProtect Workbooks.

Các phương thức (Events) cơ bản trong VBA :

Phương thứcMô tảActivateĐể kích hoạt một Workbook.CalculateĐể làm mới tất cả tính toán trong một Workbook.CloseĐể close một Workbook.SaveĐể save một Workbook.SaveAsĐể SaveAs một Workbook.SaveCopyAsĐể SaveCopyAs một Workbook.

Ví dụ cách khai báo:

'Ví dụ 1 : Đóng workbooks Workbooks.Close 'Ví dụ 2 : Thêm workbook mới Workbooks.Add 'Ví dụ 3 : Mở workbook Workbooks.Open FileName:="Test.xls", ReadOnly:=True 'Ví dụ 4 : Activate workbook Workbooks("Test.xls").Worksheets("Sheet1").Activate 'Ví dụ 5 : Save workbook Workbooks(“Workbook Name”).Save 'Ví dụ 6 : Save as workbook Dim wb As Workbook Set wb = Workbooks.Add wb.SaveAs Filename:="D:testSample.xlsx" 'Ví dụ 7 : SaveCopyAs Workbook Workbooks(“Workbook Name”).Save 'Ví dụ 8 : SaveCopyAs Workbook ThisWorkbook.SaveCopyAs chúng tôi & "" & "ver1_" & ThisWorkbook.Name

3.Worksheet Objects

Đối tượng Worksheet trong Excel VBA là một trong những đối tượng được sử dụng thường xuyên nhất trong khi tự động hoá các tác vụ với VBA.

Đối tượng Worksheet đại diện cho các sheet trong Workbook, tức là mỗi Workbook chứa một hoặc nhiều Worksheet.

Các phương thức (Events) cơ bản trong VBA:

Phương thứcMô tảActivateĐể kích hoạt một Worksheet.CalculateĐể làm mới tất cả tính toán trong một Worksheet.CopyĐể copy một Worksheet.DeleteĐể xóa một Worksheet.MoveĐể di chuyển một Worksheet.SelectĐể chọn một Worksheet.

Ví dụ cách khai báo trong VBA:

vd 1 : ẩn worksheet Worksheets(1).Visible = False 'vd 2 : Đặt mật khẩu cho WorkSheet Worksheets("Sheet1").Protect password:=strPassword, scenarios:=True 'vd 3: Active sheet Worksheets("data").Activate 'Or Sheets("data").Activate 'vd 4: Copy Worksheet trong VBA với Before Worksheets("Sheet3").Copy Before:=Worksheets(1) 'vd 5: Copy Worksheet trong VBA với After Worksheets("Sheet3").Copy After:=Worksheets(Worksheets.Count) 'vd 6: Xóa Worksheet Sheets("Sheet2").Delete ' or Sheet2.Delete 'vd 7: Xóa Worksheet trong VBA – không hiển thị alert Application.DisplayAlerts = False Sheets("Sheet2").Delete Application.DisplayAlerts = True

4.Range Objects

Đối tượng Range là đại diện của một cell (hoặc cells) trên Worksheet, là đối tượng quan trọng nhất của Excel VBA.

Ví dụ:

'vd 1 : Đưa dữ liệu vào ô A5 Worksheets("Sheet1").Range("A5").Value = "5235" 'vd 2 : Đưa dữ liệu vào range A1:A4 Worksheets("Sheet1").Range("A1:A4").Value = 5 'vd 3 : Khai báo một range và set giá trị bằng 8 Dim rangeObj As Range Set rangeObj = Range("A1:C4") rangeObj .Value = 8

Các phương thức (Events) cơ bản trong VBA:

Delete Or Hide Objects/Controls On A Worksheet

Delete or Hide Objects/Controls on a worksheet

Shapes collection

Members of the Shapes collection are:

1. ActiveX controls (Control Toolbox) or a linked or embedded OLE objects2. Controls from the Forms toolbar3. Controls from the Drawing toolbar4. Pictures, charts, ………………

You see that all objects/controls are a member of the Shapes collection.

Below you find examples to delete or hide the members of this collection.

Tip: if you only want to hide all shapes for a moment then you can use the toggle shortcut Ctrl 6 (This is for the whole workbook)

Manual delete shapes

Note: for Activex(control toolbox) controls you must be in “Design Mode” in Excel 97-2003. Use the first button on the Control toolbox toolbar to toggle this mode.

With VBA code

Delete all shapes

Use this macro to delete all shapes on the worksheet, working in all Excel versions(also in 2007).

Sub Shapes1() 'Delete all Objects except Comments On Error Resume Next ActiveSheet.DrawingObjects.Visible = True ActiveSheet.DrawingObjects.Delete On Error GoTo 0 End Sub Sub Comments() ActiveSheet.Cells.ClearComments End Sub Sub NotUseThisMacro() 'Delete every shape in the Shapes collection Dim myshape As Shape For Each myshape In ActiveSheet.Shapes myshape.Delete Next myshape End Sub

Delete only specific shapes

What if you only want to delete control toolbox controls, Pictures or forms controls.You can loop through the collection and check the Type of the control.

12 = ActiveX control (control toolbox) or a linked or embedded OLE object.13 = Picture 8 = Forms controls

For Type 8 we use another macro to avoid the problem of losing AutoFilter and Data Validation dropdowns on your chúng tôi the example in this section “Delete only Forms controls”

Sub Shapes2() 'Loop through the Shapes collection and use the Type number of the control Dim myshape As Shape For Each myshape In ActiveSheet.Shapes ' ActiveX control (control toolbox) or a linked or embedded OLE object If chúng tôi = 12 Then myshape.Delete ' You can also use myshape.Visible = False Next myshape End Sub

If you want to know all the Type numbers of all controls on your worksheet you can run this macro to add a new worksheet with the names and Type numbers of all objects on your worksheet.You can find the number then that you must use in the code to delete the objects you want.

Sub ListAllObjectsActiveSheet() Dim NewSheet As Worksheet Dim MySheet As Worksheet Dim myshape As Shape Dim I As Long Set MySheet = ActiveSheet Set NewSheet = Worksheets.Add With NewSheet .Range("A1").Value = "Name" .Range("B1").Value = "Visible(-1) or Not Visible(0)" .Range("C1").Value = "Shape type" I = 2 For Each myshape In MySheet.Shapes .Cells(I, 1).Value = myshape.Name .Cells(I, 2).Value = myshape.Visible .Cells(I, 3).Value = myshape.Type I = I + 1 Next myshape .Range("A1:C1").Font.Bold = True .Columns.AutoFit .Range("A1:C" & Rows.Count).Sort Key1:=Range("C1"), _ Order1:=xlAscending, Header:=xlYes End With End Sub

Delete only Forms controls

This example avoid the problem of losing AutoFilter and Data Validation dropdowns on your worksheet when you use Type 8.

Sub Shapes4() 'Dave Peterson and Bob Phillips 'Example only for the Forms controls Dim shp As Shape Dim testStr As String For Each shp In ActiveSheet.Shapes If chúng tôi = 8 Then If shp.FormControlType = 2 Then testStr = "" On Error Resume Next testStr = shp.TopLeftCell.Address On Error GoTo 0 Else shp.Delete End If End If Next shp End Sub

In the workaround macro above we use FormControlType = 2 in the loop (xlDropDown). AutoFilter and Data Validation dropdowns do not have TopLeftCell.Address and the macro will not delete this DropDowns.

Other FormControl constants are:(only for the Forms controls)

xlButtonControl = 0xlCheckBox = 1xlDropDown = 2xlEditBox = 3 xlGroupBox = 4xlLabel = 5xlListBox = 6xlOptionButton = 7 xlScrollBar = 8xlSpinner = 9

Delete or Hide one shapeBecause all objects/controls are a member of the shapes collection we can use this to delete or hide one button, picture or ?

Sub Delete_One_Shape() ActiveSheet.Shapes("YourShapeName").Delete End Sub Sub Hide_One_Shape() ActiveSheet.Shapes("YourShapeName").Visible = False End Sub

Specific examples for Activex(control toolbox) or Forms controls

For most things the macros in the first section of this page are Ok but if you only want to delete Forms buttons or ActiveX buttons then look here for a few examples.

ActiveX controls (Control Toolbox) or linked or embedded OLE objects

Sub OLEObjects1() 'Hide all ActiveX controls(Control Toolbox)or linked or embedded OLE objects On Error Resume Next ActiveSheet.OLEObjects.Visible = False On Error GoTo 0 End Sub Sub OLEObjects2() 'Delete all ActiveX controls(Control Toolbox)or linked or embedded OLE objects On Error Resume Next ActiveSheet.OLEObjects.Visible = True ActiveSheet.OLEObjects.Delete On Error GoTo 0 End Sub Sub OLEObjects3() 'Delete/hide only all CommandButtons from the Control Toolbox Dim obj As OLEObject For Each obj In ActiveSheet.OLEObjects If TypeOf obj.Object Is MSForms.CommandButton Then obj.Delete ' or obj.Visible = False if you want to hide them End If Next End Sub

Others are :

MSForms.CheckBox MSForms.TextBox MSForms.OptionButtonMSForms.ListBoxMSForms.ComboBox MSForms.ToggleButtonMSForms.SpinButton MSForms.ScrollBar MSForms.LabelMSForms.Image

Sub OLEObjects4() 'Hide one ActiveX control(Control Toolbox)or a linked or embedded OLE object ActiveSheet.OLEObjects("CommandButton1").Visible = False End Sub Sub OLEObjects5() 'Delete one ActiveX control(Control Toolbox)or a linked or embedded OLE object ActiveSheet.OLEObjects("CommandButton1").Delete End Sub

Because Control Toolbox controls are also a member of the Shapes collection you can also use this :

Sub OLEObjects6() 'Hide one Control Toolbox button or Control ActiveSheet.Shapes("CommandButton1").Visible = False End Sub Sub OLEObjects7() 'Delete one Control Toolbox button or Control ActiveSheet.Shapes("CommandButton1").Delete End Sub

To clear textboxes or uncheck checkboxes you can use code like this :

Sub TestMe() Dim obj As OLEObject For Each obj In ActiveSheet.OLEObjects If TypeOf obj.Object Is MSForms.TextBox Then chúng tôi = "" End If If TypeOf obj.Object Is MSForms.CheckBox Then obj.Object.Value = False End If Next End Sub

Forms controls

Sub Forms1() 'Delete All Forms buttons ActiveSheet.Buttons.Delete End Sub Sub Forms2() 'Hide All Forms buttons ActiveSheet.Buttons.Visible = False End Sub Sub Forms3() 'Delete one Forms button ActiveSheet.Buttons("Button 1").Delete End Sub Sub Forms4() 'Hide one Forms button ActiveSheet.Buttons("Button 1").Visible = False End Sub

Instead of Buttons you can also use

OptionButtonsCheckBoxes DropDowns

Because Forms controls are also a member of the Shapes collection you can also use this

Sub Forms5() 'One Forms button or Control ActiveSheet.Shapes("Button 1").Delete End Sub Sub Forms6() 'One Forms button or Control ActiveSheet.Shapes("Button 1").Visible = False End Sub