我正在處理一個有11種不同系統大小的電子表格,每個系統大小代表一列。我需要使用它來比較不同的系統大小,但需要能夠在特定時間選擇我想要的系統大小。例如,系統大小爲1300,2000,2000X,2500,2500X,3000,3000X,4500,6000,7000和9000,我可能需要比較2500,3000和4500.我在行中放了一個複選框3表示每個系統大小並將該複選框鏈接到它所在的同一單元格,因此對於系統1300,複選框位於單元格B3中並鏈接到單元格B3。我希望能夠進入併爲每個系統大小選擇每個複選框,然後能夠運行宏以保持其複選框被選中的列/系統大小,並刪除或隱藏其檢查的列/系統大小框未被選中。下面是我的代碼對系統1300如果未選中該列的複選框,如何使用If宏刪除列?
Dim System1300 As String
System1300 = Range("B3").Value
If Not System1300 Like "TRUE" Then
ActiveSheet.Shapes.Range(Array("Check Box 1")).Select
Selection.Delete
Columns("B:B").Select
Range("B2").Activate
Selection.Delete Shift:=xlToLeft
End If
然而,出於某種原因,我是否選中複選框或不它刪除複選框和列。任何幫助是極大的讚賞。
感謝Doug,我只是遇到了代碼中的一個問題。當代碼隱藏列時,它不會隱藏複選框,這會留下隨機取消選中的複選框。無論如何繞過這個或至少刪除未選中的複選框? – 2013-05-14 17:13:21
選中複選框,單擊右鍵,選擇格式控制>屬性,然後選中「使用單元格移動和大小」。你可以在代碼中做到這一點,但它很容易選擇所有。 – 2013-05-14 17:41:37
是的,我試圖這樣做,但由於某種原因,它不會允許我選擇該選項。我想知道爲什麼。 – 2013-05-14 17:42:51