九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
跟煙花入門VBA之69:?jiǎn)卧駥?duì)象Range(十三)

 查看所有煙花系列VBA教程,點(diǎn)擊左下角“原文鏈接”

Calculate 方法

RowDifferences 方法
 返回一個(gè) Range 對(duì)象,該對(duì)象表示每行中與比較單元格內(nèi)容不同的所有單元格。
 語法:RowDifferences(Comparison)
 Comparison 必選,用于與指定區(qū)域進(jìn)行比較的單個(gè)單元格。
 這個(gè)方法等同于與定位條件中的“行內(nèi)容差異單元格”。
 使用上與
ColumnDifferences差別不大,一個(gè)是列差異,一個(gè)是行差異。

Consolidate 方法

 將多個(gè)工作表中多個(gè)區(qū)域的數(shù)據(jù)合并計(jì)算至單個(gè)工作表上的單個(gè)區(qū)域。
 語法:Consolidate(Sources, Function, TopRow,LeftColumn, CreateLinks)
  Sources 可選 ,以文本引用字符串?dāng)?shù)組的形式給出合并計(jì)算的源。
   
該數(shù)組采用 R1C1樣式表示法,這些引用必須包含將要合并計(jì)算的工作表的完整路徑。
  
Function 可選,XlConsolidationFunction 常量之一,用于指定合并計(jì)算的類型。
  
TopRow 可選,如果為 True,則基于合并計(jì)算區(qū)域中首行內(nèi)的列標(biāo)題對(duì)數(shù)據(jù)進(jìn)行合并。
    
如果為 False,則按位置進(jìn)行合并計(jì)算,默認(rèn)值為 False。
  
LeftColumn 可選,如果為 True 則基于合并計(jì)算區(qū)域中左列內(nèi)的行標(biāo)題對(duì)數(shù)據(jù)進(jìn)行合并計(jì)算。
    如果為
False,則按位置進(jìn)行合并計(jì)算。默認(rèn)值為 False。
  
CreateLinks 可選,如果為 True,則讓合并計(jì)算使用工作表鏈接。
    如果為
False,則讓合并計(jì)算復(fù)制數(shù)據(jù)。默認(rèn)值為 False。
 很明顯,Consolidate方法就是在技巧中使用的合并計(jì)算。
示例:
 Dim sht As Worksheet
 Dim str As String
 Dim arr
 For Each sht In Worksheets
     If sht.Name Like '#月' Then
         '對(duì)工作表名稱過濾,只有 X月 這類名字的才處理,X代表1位數(shù)字
         str = str & ''' & sht.Name & ''!' & sht.UsedRange.Address(ReferenceStyle:=xlR1C1) & Chr(10)
         '返回的地址以R1C1樣式表示,
     End If
 Next
 '這里應(yīng)用代碼來生成數(shù)組,如果要合并的工作表比較多,推薦用代碼,這樣方便,也能避免寫錯(cuò)。
 If Len(str) Then
     str = Left(str, Len(str) - 1)
     '去掉字符串結(jié)尾的CHR(10)字符,避免生成數(shù)組后,最后一個(gè)元素為空
 Else
     Exit Sub
 End If

 arr = Split(str, Chr(10))
 '字符串轉(zhuǎn)換成數(shù)組

 With Worksheets.Add(after:=Worksheets(Worksheets.Count))
     .Range('a1').Consolidate arr, xlSum, True, True
     '求和,列標(biāo)題,行標(biāo)題,不建立連接
     .Cells(Rows.Count, 2).End(xlUp).Offset(2, -1).Consolidate arr, xlSum, True, False
     '求和,列標(biāo)題,無行標(biāo)題,不建立連接
     .Cells(Rows.Count, 2).End(xlUp).Offset(2, -1).Consolidate arr, xlSum, False, True
     '求和,無列標(biāo)題,行標(biāo)題,不建立鏈接
     .Cells(1, Columns.Count).End(xlToLeft).Offset(, 2).Consolidate arr, xlCount, True, True, True
     '求和,列標(biāo)題,行標(biāo)題,建立鏈接
 End With

 1月數(shù)據(jù)截圖:
  


 2月數(shù)據(jù)截圖:
  


 3月數(shù)據(jù)截圖:
  


 效果圖:
  

 計(jì)算工作表指定區(qū)域中的單元格

 返回值:Variant

說明:

 在之前講過的工作簿對(duì)象,工作表對(duì)象時(shí),也有Calculate方法。

 所有打開的工作簿 Application.Calculate(或只是 Calculate

 指定工作表 Worksheets(1).Calculate

 指定區(qū)域 Worksheets(1).Rows(2).Calculate

 單獨(dú)計(jì)算工作表中指定區(qū)域中的單元格時(shí),不會(huì)觸發(fā)工作表或工作簿對(duì)象的Calculate事件。


ColumnDifferences 方法

 返回一個(gè) Range 對(duì)象,該對(duì)象表示每列中所有與比較單元格內(nèi)容不同的單元格。

 Comparison 必選,用于對(duì)指定區(qū)域進(jìn)行比較的單個(gè)單元格,該單元格必須位于調(diào)用該方法的單元格區(qū)域中。

 這個(gè)方法等同于與定位條件中的“列內(nèi)容差異單元格”。

 Comparison參數(shù)也就相當(dāng)于比較區(qū)域中的活動(dòng)單元格。

 示例:


  On Error Resume Next
  Dim rg1 As Range
  Dim rg2 As Range
  Dim rg3 As Range
  Dim rg4 As Range
  With Range('a1:a12')
   Set rg1 = .ColumnDifferences(.Cells(1))
   Set rg2 = .ColumnDifferences(.Cells(2))
   Set rg3 = .ColumnDifferences(.Cells(3))
   MsgBox rg1.Address & vbCr & rg2.Address & vbCr & rg3.Address
   '這里是為了演示,沒有判斷對(duì)象變量引用為空的情況。
   Set rg4 = .Offset(, 1).ColumnDifferences(.Cells(1, 2))
   If Not rg4 Is Nothing Then
    MsgBox rg4.Address
   Else
    MsgBox '源單元格內(nèi)容完全相同'
   End If
  End With

 數(shù)據(jù)截圖如下:
  

 

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
取得工作表名稱、單元格賦值個(gè)工作表名稱
Excel
VBA|使用Range對(duì)象02:獲取單元格信息
VBA利用數(shù)組優(yōu)化代碼運(yùn)行效率
巧用Excel VBA進(jìn)行考試成績(jī)登分錄入
《神奇的VBA》編程:批量拆分單元格數(shù)據(jù)
更多類似文章 >>
生活服務(wù)
熱點(diǎn)新聞
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服