2013-10-23 47 views
1

我有5列(AE)的電子表格下面的名稱:如何在Microsoft Excel中對兩個按鈕進行排序時單擊表格?

  1. 「TEST YEAR」
  2. 「形式」
  3. 「問題」
  4. 「標籤」
  5. 第五具有沒有標題標題,但它仍然有數據。

我在通過標籤欄搜索的文字和一排藍色的細胞填充,如果有匹配的電子表格中的單獨的功能。由於我可能會在不同時間進行各種搜索,因此我希望有兩個按鈕 - 點擊後 - 將對5列進行排序。

第一個按鈕將只是一個默認排序,它會恢復正常;它按TEST YEAR排序表,然後按FORM排序,然後按QUESTION排序。第二個按鈕按單元格顏色(藍色),然後按TEST YEAR,然後按FORM,然後按QUESTION排序。

這樣的排序宏是什麼樣的,我將如何通過點擊按鈕來運行它們?

+0

看看[this](http://stackoverflow.com/a/14859682/1698517)是否開始進行宏排序和[this](http://www.extendoffice.com/documents/excel/) 878-excel-insert-macro-button.html)來添加一個觸發宏的按鈕。 – Jaycal

回答

0

你的第一個排序的代碼是:

Sub Sort_BackToNormal() 

If Sheets(1).AutoFilterMode = False Then 
    Sheets(1).Range("A1:E1").AutoFilter 
End If 

RowCount = Sheets(1).Range("A" & Rows.Count).End(xlUp).Row 
ActiveWorkbook.Worksheets(1).AutoFilter.Sort.SortFields.Clear 
ActiveWorkbook.Worksheets(1).AutoFilter.Sort.SortFields.Add Key:=Range("A2:A" & RowCount), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal 
ActiveWorkbook.Worksheets(1).AutoFilter.Sort.SortFields.Add Key:=Range("B2:B" & RowCount), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal 
ActiveWorkbook.Worksheets(1).AutoFilter.Sort.SortFields.Add Key:=Range("C2:C" & RowCount), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal 
With ActiveWorkbook.Worksheets(1).AutoFilter.Sort 
    .Header = xlYes 
    .MatchCase = False 
    .Orientation = xlTopToBottom 
    .SortMethod = xlPinYin 
    .Apply 
End With 

End Sub 

第二排序的代碼是:

Sub Sort_Color() 

If Sheets(1).AutoFilterMode = False Then 
    Sheets(1).Range("A1:E1").AutoFilter 
End If 

RowCount = Sheets(1).Range("A" & Rows.Count).End(xlUp).Row 
ActiveWorkbook.Worksheets(1).AutoFilter.Sort.SortFields.Clear 
ActiveWorkbook.Worksheets(1).AutoFilter.Sort.SortFields.Add(Range("D1"), xlSortOnCellColor, xlAscending, , xlSortNormal).SortOnValue.Color = RGB(0, 112, 192) 
ActiveWorkbook.Worksheets(1).AutoFilter.Sort.SortFields.Add Key:=Range("A2:A" & RowCount), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal 
ActiveWorkbook.Worksheets(1).AutoFilter.Sort.SortFields.Add Key:=Range("B2:B" & RowCount), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal 
ActiveWorkbook.Worksheets(1).AutoFilter.Sort.SortFields.Add Key:=Range("C2:C" & RowCount), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal 
With ActiveWorkbook.Worksheets(1).AutoFilter.Sort 
    .Header = xlYes 
    .MatchCase = False 
    .Orientation = xlTopToBottom 
    .SortMethod = xlPinYin 
    .Apply 
End With 

ActiveWorkbook.Worksheets(1).AutoFilter.Sort.SortFields.Add(Range("D1"), xlSortOnCellColor, xlAscending, , xlSortNormal).SortOnValue.Color = RGB(0, 112, 192) 
End Sub 

爲了讓一個按鈕:

  1. 插入形狀
  2. 讓它變得漂亮
  3. 右鍵單擊形狀並分配宏。
+0

這不是真的有效。如果你想要除了白色以外的任何顏色的單元格到頂部,你將如何更改第二個宏的代碼? –

+0

您將需要確保您的RBG編號是針對您之後的特定顏色。 –

+0

就是這樣。我如何找出顏色的RBG? Excel並不那麼容易。另外,如果有多個高光顏色?它將如何訂購? –

相關問題