我的Excel包含三列數據
我有一個Excel裡面有三列資料。我想透過VB實現排序功能
Sub Sort1()
ActiveSheet.Sort.SortFields.Clear
ActiveSheet.Sort.SortFields.Add Key:=Range("A2:A" & Range("A1").CurrentRegion.Rows.Count) _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
ActiveSheet.Sort.SortFields.Add Key:=Range("B2:B" & Range("A1").CurrentRegion.Rows.Count) _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveSheet.Sort
.SetRange Range("A1:C" & Range("A1").CurrentRegion.Rows.Count)
.Header = xlYes
.MatchCase = False
#.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
VB數組排序問題
如果在excel表格的A列中依序輸入0-11共12個數字,在B列中對應地輸入12個隨機數,然後按B列排一下序,A列中的數字就變成隨機排列的了
在這裡使用同樣的思路,只不過把二維表格換成二維數組即可,程式碼如下:
Dim Matrix(0 To 11, 0 To 1) As Single
Dim i As Integer, j As Integer
Dim sngTemp As Single
#Randomize
'初始化數組,使每個「行」第一個數字為行號,第二個數字為隨機大小的數字
For i = 0 To 11
Matrix(i, 0) = i
Matrix(i, 1) = Rnd(100)
Next
Text1.Text = ""
'由於陣列較小,這裡使用冒泡排序,依序篩選出第N大的數字並顯示Text1中
For i = 0 To 11
For j = i 1 To 11
If Matrix(j, 1) > Matrix(i, 1) Then
sngTemp = Matrix(i, 1)
Matrix(i, 1) = Matrix(j, 1)
Matrix(j, 1) = sngTemp
sngTemp = Matrix(i, 0)
Matrix(i, 0) = Matrix(j, 0)
Matrix(j, 0) = sngTemp
End If
Next
Text1.Text = Text1.Text & vbCrLf & Matrix(i, 0)
Next
EXCEL VBA巨集語言排序問題附有圖片
問題1
Private Sub CommandButton1_Click()
Dim i, j As Long
Sheets("sheet2").Cells.ClearContents
Sheets("sheet1").Cells.Copy
Sheets("sheet2").Select
Sheets("sheet2").Range("A1").Select
ActiveSheet.Paste
i = 3
Do While Sheets("sheet2").Range("A" & i).Value ""
For j = 2 To i - 1
If Sheets("sheet2").Range("A" & i).Value > Sheets("sheet2").Range("A" & j).Value Then
Else
Sheets("sheet2").Rows(i & ":" & i).Cut
Sheets("sheet2").Rows(j & ":" & j).Insert Shift:=xlDown
Exit For
End If
Next j
i = i 1
Loop
End Sub
問題2
Private Sub CommandButton1_Click()
Dim i, j As Long
Sheets("sheet2").Cells.ClearContents
Sheets("sheet1").Cells.Copy
Sheets("sheet2").Select
Sheets("sheet2").Range("A1").Select
ActiveSheet.Paste
i = 3
Do While Sheets("sheet2").Range("A" & i).Value ""
For j = 2 To i - 1
If Sheets("sheet2").Range("C" & i).Value & Sheets("sheet2").Range("D" & i).Value > Sheets("sheet2").Range(" C" & j).Value & Sheets("sheet2").Range("D" & j).Value Then
Else
Sheets("sheet2").Rows(i & ":" & i).Cut
Sheets("sheet2").Rows(j & ":" & j).Insert Shift:=xlDown
Exit For
End If
Next j
i = i 1
Loop
End Sub
以上是我的Excel包含三列數據的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

在Excel中,利用時間軸篩選器可以更有效地按時間段顯示數據,這比使用篩選按鈕更便捷。時間軸是一個動態篩選選項,允許您快速顯示單個日期、月份、季度或年份的數據。 步驟一:將數據轉換為數據透視表 首先,將原始Excel數據轉換為數據透視表。選擇數據表中的任意單元格(無論格式化與否),然後點擊功能區“插入”選項卡上的“數據透視表”。 相關:如何在Microsoft Excel中創建數據透視表 別被數據透視表嚇倒!我們會教你幾分鐘內就能掌握的基本技巧。 相關文章 在對話框中,確保選中整個數據范圍(

Excel 溢出範圍運算符 (#) 讓公式能夠自動調整以適應溢出範圍大小的變化。此功能僅適用於 Windows 或 Mac 版 Microsoft 365 Excel。 UNIQUE、COUNTIF 和 SORTBY 等常用函數可與溢出範圍運算符結合使用,生成動態的可排序列表。 Excel 公式中的井號 (#) 也稱為溢出範圍運算符,它指示程序考慮溢出範圍中的所有結果。因此,即使溢出範圍增大或縮小,包含 # 的公式也會自動反映此變化。 如何列出和排序 Microsoft Excel 中的唯一值

快速鏈接 為什麼應該在 Excel 中命名表格 如何在 Excel 中命名表格 Excel 表格命名規則和技巧 默認情況下,Excel 中的表格命名為 Table1、Table2、Table3,依此類推。但是,您不必堅持使用這些標籤。事實上,如果您不這樣做會更好!在本快速指南中,我將解釋為什麼您應該始終重命名 Excel 中的表格,並向您展示如何操作。 為什麼應該在 Excel 中命名表格 雖然養成在 Excel 中命名表格的習慣可能需要一些時間(如果您通常不這樣做的話),但以下原因說明了今

Excel中使用公式型條件格式處理溢出數組 直接對Excel中溢出數組進行格式化可能會導致問題,尤其當數據形狀或大小發生變化時。基於公式的條件格式規則允許在數據參數更改時自動調整格式。在列引用前添加美元符號 ($) 可以將規則應用於數據中的所有行。 在Excel中,您可以對單元格的值或背景應用直接格式化,以使電子表格更易於閱讀。但是,當Excel公式返回一組值(稱為溢出數組)時,如果數據的尺寸或形狀發生變化,則應用直接格式化將導致問題。 假設您有此電子表格,其中包含PIVOTBY公式的溢出結果,

本教程解釋瞭如何在公式示例中使用excel中的匹配函數。它還顯示瞭如何通過使用Vlookup和匹配的動態公式來改善查找公式。 在Microsoft Excel中,有許多不同的查找/參考

本教程向您展示瞭如何在保留所有表功能的同時快速應用,修改和刪除Excel表樣式。 想讓您的Excel桌子看起來完全想要嗎?繼續閱讀! 創建Excel表之後,第一步是通常
