欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

前言

一、錯(cuò)誤描述

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

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

Sub 合并所有工作表_在所有行標(biāo)注工作表名字_無(wú)視空行空列_考慮到不規(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)致獲取已使用行號(hào)的數(shù)據(jù)不符合預(yù)期(老趙,如果你看到這里不懂,就自己拆開代碼,加上空行空列體會(huì)一下)
        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é)

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

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

相關(guān)文章

  • VBA UsedObjects 集合用法

    VBA UsedObjects 集合用法

    可用 Application 對(duì)象的 UsedObjects 屬性返回一個(gè) UsedObjects 對(duì)象。
    2009-07-07
  • vba將excel按照某一列拆分成多個(gè)文件

    vba將excel按照某一列拆分成多個(gè)文件

    本文主要介紹了vba將excel按照某一列拆分成多個(gè)文件,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧<BR>
    2023-01-01
  • VBA中的循環(huán)代碼的使用

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

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

    Excel?VBA指定條件刪除整行整列的實(shí)現(xiàn)

    本文主要介紹了Excel?VBA指定條件刪除整行整列的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01
  • VBA 編程基礎(chǔ)

    VBA 編程基礎(chǔ)

    好多朋友想學(xué)習(xí)vba但相關(guān)資料不是很多,其實(shí)就是利用了vb的語(yǔ)法,結(jié)合office
    2009-07-07
  • 向數(shù)據(jù)報(bào)表添加一個(gè)合計(jì)字段

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

    在數(shù)據(jù)環(huán)境設(shè)計(jì)器中也可以創(chuàng)建一個(gè)合計(jì)字段,即對(duì)來(lái)自部分的數(shù)據(jù)進(jìn)行合計(jì)的字段。
    2009-07-07
  • excel vba 高亮顯示當(dāng)前行代碼

    excel vba 高亮顯示當(dāng)前行代碼

    用條件格式設(shè)置高亮顯示當(dāng)前行,難的是如何確定當(dāng)前行。用VBA就很簡(jiǎn)單,鼠標(biāo)右擊工作表標(biāo)簽,選擇“查看代碼”,將下面的代碼粘貼到VBE窗口中
    2009-07-07
  • VBA將excel數(shù)據(jù)表生成JSON文件

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

    本文給大家匯總介紹了幾種使用VBA處理EXCEL并生成JSON文件的方法和思路,非常的實(shí)用,有需要的小伙伴可以參考下。
    2015-09-09
  • VBA 瀏覽文件夾對(duì)話框調(diào)用的幾種方法

    VBA 瀏覽文件夾對(duì)話框調(diào)用的幾種方法

    VBA 瀏覽文件夾對(duì)話框調(diào)用實(shí)現(xiàn)代碼。大家可以根據(jù)需要選擇。
    2009-07-07
  • 用vba實(shí)現(xiàn)將記錄集輸出到Excel模板

    用vba實(shí)現(xiàn)將記錄集輸出到Excel模板

    用vba實(shí)現(xiàn)將記錄集輸出到Excel模板...
    2007-02-02

最新評(píng)論