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

關(guān)于vba代碼運(yùn)行時(shí)錯(cuò)誤1004?應(yīng)用程序定義或?qū)ο蠖x錯(cuò)誤問題

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

前言

一、錯(cuò)誤描述

將Excel所有工作表,匯總到一個(gè)工作表中:

在thisworkbook中運(yùn)行如下:

Sub 合并所有工作表_在所有行標(biāo)注工作表名字_無視空行空列_考慮到不規(guī)范的多一點(diǎn)的行和列()
    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,代表使用的第一個(gè)行數(shù),在有空行的時(shí)候體現(xiàn),同理,UsedRange.column,代表使用的第一個(gè)列數(shù),在有空列的時(shí)候體現(xiàn)
        '那么使用第一行 + 已使用的行數(shù),這樣可以規(guī)避頂部/左側(cè)有空行,導(dǎo)致獲取已使用行號的數(shù)據(jù)不符合預(yù)期(老趙,如果你看到這里不懂,就自己拆開代碼,加上空行空列體會一下)
        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就可能是整個(gè)表格的行數(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
        
        '相當(dāng)于遍歷所有的列,都按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ù)
        
        '相當(dāng)于遍歷所有的行,都按ctrl + ←,取數(shù)組的最大值
        'Erase arr 清空數(shù)組,但是也可以不用,直接用ReDim也可以,如果要保留數(shù)組內(nèi)容,需要加一個(gè)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
    '將首行標(biāo)題轉(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

在這里插入圖片描述

新建模塊,運(yùn)行如下:

在這里插入圖片描述

二、原因調(diào)查

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

在這里插入圖片描述

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

總結(jié)

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

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

相關(guān)文章

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

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

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

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

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

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

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

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

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

    向數(shù)據(jù)報(bào)表添加一個(gè)合計(jì)字段

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

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

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

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

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

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

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

    vba 獲取PPT幻燈片中的所有標(biāo)題的代碼

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

    VBA解決Windows空當(dāng)接龍的617局

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

最新評論

余庆县| 乌兰浩特市| 张家口市| 崇阳县| 三穗县| 两当县| 卓资县| 嘉定区| 万全县| 孝昌县| 体育| 泸水县| 凤凰县| 桦甸市| 剑阁县| 淮南市| 西宁市| 栾川县| 田林县| 高唐县| 巴马| 陆良县| 中阳县| 西青区| 藁城市| 平湖市| 玉环县| 河东区| 兰坪| 柳江县| 聂拉木县| 宜兴市| 锦屏县| 六安市| 含山县| 天祝| 襄樊市| 天津市| 丰顺县| 德惠市| 周宁县|