最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

關于vba代碼運行時錯誤1004?應用程序定義或?qū)ο蠖x錯誤問題

 更新時間:2022年10月11日 14:30:23   作者:用余生去守護  
這篇文章主要介紹了vba代碼運行時錯誤1004?應用程序定義或?qū)ο蠖x錯誤,經(jīng)過一系列問題調(diào)查發(fā)現(xiàn)是工作表中數(shù)據(jù)存在異常,需要的朋友可以參考下

前言

一、錯誤描述

將Excel所有工作表,匯總到一個工作表中:

在thisworkbook中運行如下:

Sub 合并所有工作表_在所有行標注工作表名字_無視空行空列_考慮到不規(guī)范的多一點的行和列()
    Dim row_num As Long, column_num As Long, row_num_temp As Long, column_num_temp As Long, row_num_merge As Long, column_num_merge As Long, i As Long, arr() As Long
    Worksheets.Add.Name = "合并表"
    Sheets("合并表").Move before:=Sheets(1)
    For i = 2 To Worksheets.Count
        Worksheets(i).Activate
        'UsedRange.row,代表使用的第一個行數(shù),在有空行的時候體現(xiàn),同理,UsedRange.column,代表使用的第一個列數(shù),在有空列的時候體現(xiàn)
        '那么使用第一行 + 已使用的行數(shù),這樣可以規(guī)避頂部/左側(cè)有空行,導致獲取已使用行號的數(shù)據(jù)不符合預期(老趙,如果你看到這里不懂,就自己拆開代碼,加上空行空列體會一下)
        row_num = Worksheets(i).UsedRange.Row + Worksheets(i).UsedRange.Rows.Count - 1
        column_num = Worksheets(i).UsedRange.Column + Worksheets(i).UsedRange.Columns.Count - 1
        '如果格式很不規(guī)范,那么獲取的UsedRange.rows.count就可能是整個表格的行數(shù),所以要規(guī)避這種情況,如果相同,就讓他減1
        If row_num = Worksheets(i).Rows.Count Then row_num = row_num - 1
        If column_num = Worksheets(i).Columns.Count Then column_num = column_num - 1
        
        '相當于遍歷所有的列,都按ctrl + ↑,取數(shù)組的最大值
        ReDim arr(1 To column_num)
        For j = LBound(arr) To UBound(arr)
            row_num_temp = Worksheets(i).Cells(row_num + 1, j).End(xlUp).Row
            arr(j) = row_num_temp
        Next
        Debug.Print (Application.WorksheetFunction.Max(arr))
        row_num_temp = Application.WorksheetFunction.Max(arr) '賦予最大值,確定最大的有數(shù)據(jù)的行數(shù)
        
        '相當于遍歷所有的行,都按ctrl + ←,取數(shù)組的最大值
        'Erase arr 清空數(shù)組,但是也可以不用,直接用ReDim也可以,如果要保留數(shù)組內(nèi)容,需要加一個preserve
        ReDim arr(1 To row_num_temp)
        For j = LBound(arr) To UBound(arr)
            column_num_temp = Worksheets(i).Cells(j, column_num + 1).End(xlToLeft).Column
            arr(j) = column_num_temp
        Next
        Debug.Print (Application.WorksheetFunction.Max(arr))
        column_num_temp = Application.WorksheetFunction.Max(arr) '賦予最大值,確定最大的有數(shù)據(jù)的列數(shù)
        
        Worksheets(i).Range(Cells(1, 1), Cells(row_num_temp, column_num_temp)).Select
        Selection.Copy Sheets("合并表").Cells(row_num_merge + 1, 2)
        Worksheets("合并表").Cells(row_num_merge + 1, 1) = Worksheets(i).Name
        row_num_merge = Sheets("合并表").UsedRange.Rows.Count
    Next
    '將首行標題轉(zhuǎn)為所有行(選擇空值,=上面的數(shù)據(jù))
    Worksheets("合并表").Activate
    Columns("A:A").Select
    Selection.SpecialCells(xlCellTypeBlanks).Select
    Application.CutCopyMode = False
    Selection.FormulaR1C1 = "=R[-1]C"
    Columns("A:A").Select
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
    Application.CutCopyMode = False
    Range("A1").Select
End Sub

在這里插入圖片描述

新建模塊,運行如下:

在這里插入圖片描述

二、原因調(diào)查

發(fā)現(xiàn)是工作表中數(shù)據(jù)存在異常,例如:

在這里插入圖片描述

最下面存在個別數(shù)據(jù),導致復制粘貼的時候單元格數(shù)量不足,形成此錯誤;

總結(jié)

分享:
“難道生命這漫長進程中所有的努力和希望,都是為了那飛娥撲火的一瞬間?”“飛蛾并不覺得陰暗,它至少享受了短暫的光明。"

到此這篇關于關于vba代碼運行時錯誤1004 應用程序定義或?qū)ο蠖x錯誤問題的文章就介紹到這了,更多相關vba運行時錯誤1004內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • VBA工程加密PJ方式(兩種)

    VBA工程加密PJ方式(兩種)

    今天遇到一個excel小工具感覺不錯,想研究研究代碼,竟然有密碼,我就不淡定了。網(wǎng)上找了找代碼,改了一下就OK了。接下來通過本文給大家分享兩種方式破解VBA工程加密,需要的朋友參考下吧
    2021-12-12
  • VBA中的循環(huán)代碼的使用

    VBA中的循環(huán)代碼的使用

    本文主要介紹了VBA中的循環(huán)代碼的使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-06-06
  • VBA實現(xiàn)全文件快速替換的示例代碼

    VBA實現(xiàn)全文件快速替換的示例代碼

    要想一下子就替換掉很多個WORD文檔中的內(nèi)容,我們可以使用VBA的辦法,本文主要介紹了VBA實現(xiàn)全文件快速替換的示例代碼,具有一定的參考價值,感興趣的可以了解一下
    2023-08-08
  • Excel?VBA按列拆分工作表和工作簿的實現(xiàn)

    Excel?VBA按列拆分工作表和工作簿的實現(xiàn)

    表格拆分是常見的數(shù)據(jù)處理,本文主要介紹了Excel?VBA按列拆分工作表和工作簿的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-01-01
  • 向數(shù)據(jù)報表添加一個合計字段

    向數(shù)據(jù)報表添加一個合計字段

    在數(shù)據(jù)環(huán)境設計器中也可以創(chuàng)建一個合計字段,即對來自部分的數(shù)據(jù)進行合計的字段。
    2009-07-07
  • Excel·VBA合并工作簿的實現(xiàn)示例

    Excel·VBA合并工作簿的實現(xiàn)示例

    本文主要介紹了Excel·VBA合并工作簿的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-01-01
  • VBA數(shù)組去重(字典去重多種方法+數(shù)組去重2種方法)

    VBA數(shù)組去重(字典去重多種方法+數(shù)組去重2種方法)

    本文主要介紹了VBA數(shù)組去重(字典去重多種方法+數(shù)組去重2種方法),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-08-08
  • VBA將excel數(shù)據(jù)表生成JSON文件

    VBA將excel數(shù)據(jù)表生成JSON文件

    本文給大家匯總介紹了幾種使用VBA處理EXCEL并生成JSON文件的方法和思路,非常的實用,有需要的小伙伴可以參考下。
    2015-09-09
  • vba 獲取PPT幻燈片中的所有標題的代碼

    vba 獲取PPT幻燈片中的所有標題的代碼

    有時候需要獲取PPT幻燈片中的所有標題,如果手工的復制肯定很慢,那么可以用vba批量獲取,提高工作效率。
    2010-08-08
  • VBA解決Windows空當接龍的617局

    VBA解決Windows空當接龍的617局

    本文給大家分享的是使用VBA解決Windows空當接龍的617局的方法和思路,有需要的小伙伴可以參考下。
    2015-09-09

最新評論

墨竹工卡县| 铜川市| 神农架林区| 灌云县| 咸丰县| 军事| 克东县| 焦作市| 乐山市| 新田县| 乳山市| 孝感市| 新邵县| 盱眙县| 关岭| 武乡县| 南郑县| 贵州省| 东海县| 磐石市| 穆棱市| 隆子县| 双峰县| 右玉县| 福贡县| 隆安县| 陆丰市| 英超| 马关县| 婺源县| 道真| 武夷山市| 洛川县| 邹平县| 凤翔县| 安图县| 资溪县| 榆中县| 社会| 平泉县| 延寿县|