小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

用VBA實(shí)現(xiàn)3秒內(nèi)完成數(shù)據(jù)分列整理

 微微南來的風(fēng) 2023-12-27 發(fā)布于河南

我們將編寫一個(gè) VBA 宏,用于處理含有股票代碼、股票名稱和股票行業(yè)信息的工作表。在這個(gè)工作表中,A列包含股票代碼,B列包含股票名稱,而D列包含用橫杠(-)分隔的股票行業(yè)信息。我們的目標(biāo)是將D列中的股票行業(yè)信息拆分為多列,并將這些數(shù)據(jù)移動(dòng)到一個(gè)新的工作表中。(當(dāng)然本需求方法不只是VBA,數(shù)據(jù)分列也行。但這是拆分一個(gè)需求的部分需求,所以我們還是得用VBA來做

圖片

詳細(xì)需求分析

原始數(shù)據(jù)結(jié)構(gòu):原始數(shù)據(jù)位于一個(gè)工作表中,其中 A 列是股票代碼,B 列是股票名稱,D 列是股票行業(yè)(行業(yè)之間用橫杠 - 分隔)。

操作目標(biāo):將 D 列中的股票行業(yè)按橫杠拆分成多列,并保留對(duì)應(yīng)的股票代碼和名稱。

實(shí)現(xiàn)步驟

遍歷原始數(shù)據(jù):逐行讀取原始工作表中的數(shù)據(jù)。

拆分行業(yè)信息:使用 Split 函數(shù)根據(jù)橫杠拆分股票行業(yè)信息。

移動(dòng)數(shù)據(jù)到新工作表:在新工作表中創(chuàng)建新行,填入股票代碼、名稱及拆分后的行業(yè)信息。

VBA 代碼實(shí)現(xiàn)

以下是實(shí)現(xiàn)上述功能的 VBA 代碼示例:

Sub SplitIndustriesToNewSheet()

    Dim sourceWs As Worksheet    

    Dim targetWs As Worksheet

    Dim sourceRow As Long, targetRow As Long

    Dim industries As Variant

    Dim i As Integer

    ' 設(shè)置源和目標(biāo)工作表

    Set sourceWs = ThisWorkbook.Sheets('原始數(shù)據(jù)')

    Set targetWs = ThisWorkbook.Sheets.Add

    targetWs.Name = '拆分后的行業(yè)數(shù)據(jù)'

    targetRow = 1

    ' 遍歷原始數(shù)據(jù)

    For sourceRow = 1 To sourceWs.Cells(sourceWs.Rows.Count, 'A').End(xlUp).Row

        ' 按橫杠拆分 D 列的股票行業(yè)

        industries = Split(sourceWs.Cells(sourceRow, 4).Value, '-')

        ' 在新行中填入股票代碼和名稱

        targetWs.Cells(targetRow, 1).Value = sourceWs.Cells(sourceRow, 1).Value ' 股票代碼

        targetWs.Cells(targetRow, 2).Value = sourceWs.Cells(sourceRow, 2).Value ' 股票名稱

        ' 填入拆分后的行業(yè)數(shù)據(jù)

        For i = LBound(industries) To UBound(industries)

            targetWs.Cells(targetRow, i + 3).Value = industries(i) ' 股票行業(yè)    

        Next 

        targetRow = targetRow + 1

    Next sourceRow

End Sub

最終結(jié)果

圖片

代碼解釋  

設(shè)置工作表:定義源工作表(原始數(shù)據(jù))和目標(biāo)工作表(新創(chuàng)建的工作表)。

遍歷原始數(shù)據(jù):逐行遍歷原始工作表。

拆分行業(yè)信息:使用 Split 函數(shù)根據(jù)橫杠拆分股票行業(yè)信息。

填充新工作表:在新工作表中創(chuàng)建新行,填入股票代碼、名稱以及拆分后的行業(yè)信息。

使用說明  

在 Excel 中打開您的工作簿,并確保包含名為 '原始數(shù)據(jù)' 的工作表。

按 Alt + F11 打開 VBA 編輯器,并將上述代碼粘貼到一個(gè)新模塊中。

運(yùn)行 SplitIndustriesToNewSheet 宏。

查看新創(chuàng)建的 '拆分后的行業(yè)數(shù)據(jù)' 工作表,您會(huì)看到按照要求拆分和組織的數(shù)據(jù)。

注意事項(xiàng)  

數(shù)據(jù)格式:確保您的數(shù)據(jù)格式與代碼中的預(yù)期相符。    

工作表命名:如果您的工作簿中已有名為 '拆分后的行業(yè)數(shù)據(jù)' 的工作表,請(qǐng)更改代碼中的工作表名稱,以避免命名沖突。

錯(cuò)誤處理:  

考慮增加錯(cuò)誤處理邏輯,以應(yīng)對(duì)潛在的數(shù)據(jù)不一致或其他問題。

性能優(yōu)化:對(duì)于包含大量數(shù)據(jù)的工作表,考慮在代碼執(zhí)行期間禁用屏幕更新和自動(dòng)計(jì)算,以提高執(zhí)行效率。

下次我們來講解下我們實(shí)際需求是這次和上一次的綜合結(jié)果。

我是奔哥,Office數(shù)據(jù)分析培訓(xùn)師,是擁有多門培訓(xùn)課程的講師,主要課程如下

對(duì)這段代碼哪里不懂都可以咨詢我

?       和薛老師學(xué)VBA

?       和薛老師學(xué)Excel全系列

?       和薛老師學(xué)SQL

?       和薛老師學(xué)AI數(shù)據(jù)辦公

?       和薛老師學(xué)PowerBI系列    

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多