首頁 軟體教學 辦公室軟體 我的Excel包含三列數據

我的Excel包含三列數據

Jan 23, 2024 am 09:06 AM
vb數組排序問題

我的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中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

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

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

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

如何在Excel中創建時間軸過濾器 如何在Excel中創建時間軸過濾器 Apr 03, 2025 am 03:51 AM

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

您需要知道哈希符號在Excel公式中的作用 您需要知道哈希符號在Excel公式中的作用 Apr 08, 2025 am 12:55 AM

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

如果您不在Excel中重命名桌子,那麼今天是開始的一天 如果您不在Excel中重命名桌子,那麼今天是開始的一天 Apr 15, 2025 am 12:58 AM

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

如何在Excel中格式化溢出的陣列 如何在Excel中格式化溢出的陣列 Apr 10, 2025 pm 12:01 PM

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

如何在Excel中使用樞軸函數 如何在Excel中使用樞軸函數 Apr 11, 2025 am 12:56 AM

快速鏈接樞軸語法

Excel匹配功能與公式示例 Excel匹配功能與公式示例 Apr 15, 2025 am 11:21 AM

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

如何使用Excel的匯總函數來完善計算 如何使用Excel的匯總函數來完善計算 Apr 12, 2025 am 12:54 AM

快速鏈接匯總語法

如何更改Excel表樣式並刪除表格格式 如何更改Excel表樣式並刪除表格格式 Apr 19, 2025 am 11:45 AM

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

See all articles