亚洲视频二区_亚洲欧洲日本天天堂在线观看_日韩一区二区在线观看_中文字幕不卡一区

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.430618.com 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

這里的應用場景如下:

“ 在工作表 Sheet1 中存儲著數據,現在想要在該工作表的第O 列至第T 列中搜索指定的數據,如果發現,則將數據所在行復制到工作表Sheet2 中。

用戶在一個一級中輸入要搜索的數據值,然后自動將滿足前面條件的所有行復制到工作表Sheet2 中。”

首先,使用用戶預先設計的輸入第一步,如下圖 1 所示。

圖 1

在該用戶常規模塊中編寫代碼:

私人Sub cmdOK_Click()

昏暗的工作簿

調光行

昏暗搜索范圍

昏暗的發現

Dim rngFoundCells作為范圍

Dim rngFoundCell作為范圍

昏暗的行

Application.ScreenUpdating = False

‘ 賦值工作表Sheet1

設置wks =工作表(“ Sheet1”)

有星期

‘ 工作表中的最后一個數據行

lngRow = .Range(“ A”&Rows.Count).End(xlUp).Row

‘ 被查找的單元格區域

設置rngSearch = .Range(“ O2:T”&lngRow)

“ 查找的數據文本值

‘ 由用戶在文本目錄輸入

FindWhat =“ *”&Me.txtSearch.Text和“ *”

‘ 調用FindAll 函數查找數據值

‘ 存儲滿足條件的所有單元格

設置rngFoundCells = FindAll(SearchRange:= rngSearch,_

FindWhat:= FindWhat,_

LookIn:= xlValues,_

LookAt:= xlWhole,_

SearchOrder:= xlByColumns,_

MatchCase:=假,_

BeginsWith:= vbNullString,_

EndsWith:= vbNullString,_

BeginEndCompare:= vbTextCompare)

‘ 如果沒有找到則稱為消息

如果rngFoundCells什么都沒有,那么

轉到SendInfo

萬一

‘ 清空工作表Sheet2

Sheets(“ Sheet2”)。Cells.Clear

‘ 獲取數據單元格所在的行并復制到工作表Sheet2

對于rngFoundCells中的每個rngFoundCell

lngCurRow = Val(Mid(rngFoundCell.Address,4,Len(rngFoundCell.Address)))

范圍(“ A”&lngCurRow和“:Z”&lngCurRow)。

Sheets(“ Sheet2”)。Cells(Rows.Count,1).End(xlUp).Offset(1)

下一個rngFoundCell

結束于

Application.ScreenUpdating = True

卸載我

退出子

SendInfo:

MsgBox“ 沒有找到數據 ”,,“ 查找 ”

結束子

代碼中使用的 FindAll 函數代碼如下:

‘ 自定義函數

‘ 獲取滿足條件的所有單元格

函數FindAll(SearchRange AsRange,_

FindWhat作為變體,_

可選的LookIn為XlFindLookIn = xlValues,_

XlLookAt = xlWhole的可選LookAt,_

可選SearchOrder AsXlSearchOrder = xlByRows,_

可選MatchCase為布爾值= False,_

可選的BeginsWith As String = vbNullString,_

可選的EndsWith As String = vbNullString,_

可選的BeginEndCompare AsVbCompareMethod = vbTextCompare)作為范圍

昏暗FoundCell作為范圍

昏暗的FirstFound作為范圍

DimLastCell作為范圍

昏暗ResultRange作為范圍

昏暗的XLookAt作為XlLookAt

暗含為布爾

Dim CompMode作為VbCompareMethod

昏暗區域作為范圍

昏暗的MaxRow只要長

昏暗的MaxCol只要

昏暗的BeginB為布爾

將EndB昏暗為布爾值

CompMode = BeginEndCompare

如果BeginsWith <> vbNullString或EndsWith <> vbNullString然后

XLookAt = xlPart

其他

XLookAt = LookAt

萬一

對于SearchRange.Areas中的每個區域

有面積

如果.Cells(.Cells.Count).Row> MaxRow然后

MaxRow = .Cells(.Cells.Count).Row

萬一

如果.Cells(.Cells.Count).Column> MaxCol然后

MaxCol = .Cells(.Cells.Count).Column

萬一

結束于

下一個區域

設置LastCell = SearchRange.Worksheet.Cells(MaxRow,MaxCol)

出錯時轉到0

設置FoundCell = SearchRange.Find(What:= FindWhat,_

之后:= LastCell,_

LookIn:= LookIn,_

LookAt:= XLookAt,_

SearchOrder:= SearchOrder,_

MatchCase:= MatchCase)

如果Not FoundCell一無所有

設置FirstFound = FoundCell

做到錯誤

包含=錯誤

如果BeginsWith = vbNullString AndEndsWith = vbNullString然后

包含=正確

其他

如果BeginsWith <> vbNullString然后

IfStrComp(Left(FoundCell.Text,Len(BeginsWith)),BeginsWith,BeginEndCompare)= 0然后

包含=正確

萬一

萬一

如果EndsWith <> vbNullString然后

如果StrComp(Right(FoundCell.Text,Len(EndsWith)),EndsWith,BeginEndCompare)= 0

包含=正確

萬一

萬一

萬一

如果Include = True,則

如果ResultRange無效,則

設置ResultRange = FoundCell

其他

設置ResultRange = Application.Union(ResultRange,FoundCell)

萬一

萬一

設置FoundCell = SearchRange.FindNext(之后:= FoundCell)

如果(FoundCell什么都沒有)然后

退出做

萬一

如果(FoundCell.Address = FirstFound.Address)然后

退出做

萬一

循環

萬一

設置FindAll = ResultRange

結束功能

這是一個通用函數,直接拿來使用就行了,可用于在指定的區域查找并返回滿足條件的所有單元格。

分享到:
標簽:excel圖表制作 excel常用函數 excel數據透視表 Excel教程
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定