Dòng đầu tiên sẽ chọn ba trang tính và theo mặc định, trang tính đầu tiên sẽ là trang tính hiện hoạt
Sheets[Array["Sheet1", "Sheet2", "Sheet3"]].Select
Dòng thứ hai sẽ không giữ lựa chọn hiện tại mà sẽ chỉ chọn trang tính "Sheet2"
1. Mở Excel, Chọn trang tính đầu tiên, đặt Tự động Lọc và sau đó lọc theo Cột Cụ thể bằng một Chuỗi cụ thể
$Filename = "c:\temp\mysheet.xlsx" $objExcel = New-Object -ComObject Excel.Application $objExcel.DisplayAlerts = $False $objWrkBk = $objExcel.Workbooks.Open[$Filename] $objExcel.Visible = $True # one way of selecting a sheet e.g. 3rd worksheet # $objWrkBk.Sheets[3].Select[] # another way of selecting a sheet e.g. 1st worksheet # $objWrkBk.Worksheets.item[1].Select[] $objWrkSht1 = $objWrkBk.Worksheets.item[1] $objWrkSht1.Select[] # filter on 7th column, with string matching 'ABC' $objWrkSht1.Range['$A$nn:$P$mm'].AutoFilter[7,'=ABC'] # $A$nn => range first cell position, $P$mm = range last cell position
2. Đọc dữ liệu từ ô cụ thể
# Đọc dữ liệu tại cột 7, hàng 1$objWrkSht1. tế bào. Mục[7,1]. Công ty Value2
3. Đọc dữ liệu từ một phạm vi ô
# Đọc dữ liệu từ một phạm vi$objWrkSht1. Phạm vi ["G2. G4"]. Giá trị2ABC
ABC
ABC
4. Đọc dữ liệu từ một phạm vi ô vào một mảng
# đọc vào một mảng$companies = @[$objWrkSht1. Phạm vi ["G2. G21"]. Giá trị2]
# lặp trên tất cả các mục mảng, phương thức 1
cho [$i=0;$i -lt $companies. Chiều dài;
{
$companies[$i]
}
# lặp trên tất cả các mục mảng, phương pháp 2
foreach [$coy trong $companies] { $coy }CA04
CA04
CA03
CY02
CY02
CY03
RA01
RA01
ABC01
ABC01
DEF02
DEF02
DEF02
DEF02
DEF02
VA02
VA02
VA02
VA02
VA02
5. Chọn tất cả các ô đã sử dụng trong một trang tính
# chọn tất cả các ô đã sử dụng
$objExcel. tế bào. Lựa chọn[]
6. Sắp xếp trên 2 cột có tiêu đề
# cách sắp xếp trên 2 cột H & G có bật tiêu đề, sắp xếp theo cột G tăng dần, theo cột H giảm dần$xlSortOnValues = $xlSortNormal = 0
$xlTopToBottom = $xlSummaryBelow = 1
$xlTăng dần = 1
$xlGiảm dần = 2
$xlKhông = 2
$xlCó = 1
$objWrkSht1 = $objWrkBk. bảng tính. Mục 1]
$objWrkSht1. Lựa chọn[]
$objRange = $objWrkSht1. Phạm vi đã sử dụng
$objRange1 = $objWrkSht1. phạm vi ["G1"]
$objRange2 = $objWrkSht1. phạm vi ["H1"]
$objWrkSht1. Loại. Trường sắp xếp. Thông thoáng[]
[void] $objWrkSht1. Loại. Trường sắp xếp. Thêm[$objRange1,$xlSortOnValues,$xlAscending,$xlSortNormal]
[void] $objWrkSht1. Loại. Trường sắp xếp. Thêm[$objRange2,$xlSortOnValues,$xlDescending,$xlSortNormal]
$objWrkSht1. loại. setRange[$objRange] # xác định phạm vi để sắp xếp
$objWrkSht1. loại. tiêu đề = $xlYes # phạm vi có tiêu đề
$objWrkSht1. loại. định hướng = $xlTopToBottom
$objWrkSht1. loại. áp dụng[]
Sau khi sắp xếp
7. Tìm hàng cuối cùng và cột cuối cùng của trang tính đang được sử dụng
$Filename = "c. \temp\mysheet. xlsx"$objExcel = Đối tượng mới -ComObject Excel. Đăng kí
$objExcel. Cảnh báo hiển thị = $Sai
$objWrkBk = $objExcel. sách bài tập. Mở [$Tên tệp]
$objExcel. Hiển thị = $True
$objWrkSht1 = $objWrkBk. bảng tính. Mục 1]
$objWrkSht1. Lựa chọn[]
$objRange = $objWrkSht1. Phạm vi đã sử dụng
$xlCellTypeLastCell = 11
$objLastcell = $objRange. SpecialCells[$xlCellTypeLastCell]
$lastrow = $objLastcell. hàng ngang
$lastcolumn = $objLastcell. cột
$lastrow,$lastcolumn
1175
11
số 8. Đặt bộ lọc tự động trên một cột theo nhiều tiêu chí
# Tự động lọc với nhiều tiêu chí trên một cột cụ thể
$Filename = "c. \temp\mysheet. xlsx"
$objExcel = Đối tượng mới -ComObject Excel. Đăng kí
$objExcel. Cảnh báo hiển thị = $Sai
$objWrkBk = $objExcel. sách bài tập. Mở [$Tên tệp]
$objExcel. Hiển thị = $True
$objWrkSht1 = $objWrkBk. bảng tính. Mục 1]
$objWrkSht1. Lựa chọn[]
$objRange = $objWrkSht1. Phạm vi đã sử dụng
$CriteriaArray = @['CA03','CY02','DEF02',"VA02","="]
# chọn trống với "=" HOẶC ""
#$CriteriaArray = @['CA03','CY02','DEF02',"VA02"]
$xlFilterValues = 7
phạm vi $obj. AutoFilter[7,$CriteriaArray,$xlFilterValues]
9. Các ví dụ về bộ lọc tự động khác
# Bộ lọc tự động phức tạp hơn
$Filename = "c. \temp\mysheet. xlsx"
$objExcel = Đối tượng mới -ComObject Excel. Đăng kí
$objExcel. Cảnh báo hiển thị = $Sai
$objWrkBk = $objExcel. sách bài tập. Mở [$Tên tệp]
$objExcel. Hiển thị = $True
$objWrkSht1 = $objWrkBk. bảng tính. Mục 1]
$objWrkSht1. Lựa chọn[]
$objRange = $objWrkSht1. Phạm vi đã sử dụng
$xlFilterValues = 7
$xlAnd = 1
$xlOr = 2
# tiêu chí duy nhất
$Criteria = "ABC01" # Không bằng nhau, sử dụng với xlAnd
$Criteria = "=ABC*" # Bắt đầu bằng, sử dụng với xlAnd
$Criteria = "=*02" # Kết thúc bằng, sử dụng với xlAnd
$Criteria = "=*BC*" # Chứa, sử dụng với xlAnd
$Criteria = "*BC*" # Không chứa, sử dụng với xlAnd
phạm vi $obj. Bộ lọc Tự động[7,$Criteria,$xlAnd]
#2 Tiêu chí có logic And
$Criteria1 = "=A*"
$Criteria2 = "=*1"
phạm vi $obj. AutoFilter[7,$Criteria1,$xlAnd,$Criteria2]
#2 Tiêu chí có logic Hay
phạm vi $obj. Bộ lọc Tự động[7,$Criteria1,$xlOr,$Criteria2]
#
# ĐỂ XÓA CÁC BỘ LỌC HIỆN CÓ
phạm vi $obj. Bộ lọc tự động[]
#
10. Chọn các ô đã được lọc tự động
# áp dụng bộ lọc tự động rồi chọn các ô đang hoạt động hiển thị từ trên cùng bên trái xuống dưới cùng bên phải
$Filename = "c. \temp\mysheet. xlsx"
$objExcel = Đối tượng mới -ComObject Excel. Đăng kí
$objExcel. Cảnh báo hiển thị = $Sai
$objWrkBk = $objExcel. sách bài tập. Mở [$Tên tệp]
$objExcel. Hiển thị = $True
$objWrkSht1 = $objWrkBk. bảng tính. Mục 1]
$objWrkSht1. Lựa chọn[]
$objRange = $objWrkSht1. Phạm vi đã sử dụng
$xlCellTypeLastCell = 11
$objLastcell = $objRange. SpecialCells[$xlCellTypeLastCell]
$lastrow = $objLastcell. hàng ngang
$lastcolumn = $objLastcell. cột
$xlFilterValues = 7
$xlAnd = 1
$xlOr = 2
# tiêu chí duy nhất
$Criteria = "=DEF02"
phạm vi $obj. AutoFilter[7,$Criteria]
$xlLastCell = 11
#$objExcel. tế bào. Lựa chọn[]
#$objExcel. tuyển chọn. AutoFilter[7,$Criteria]
$objExcel. Tế bào hoạt động. SpecialCells[$xlLastCell]. Lựa chọn[]
$objExcel. Phạm vi[$objExcel. Lựa chọn,$objExcel. Tế bào[1]]. Lựa chọn[]
11. Chọn các ô được lọc tự động, sao chép và dán vào sổ làm việc mới, lưu dưới dạng tên tệp mới và đóng
$Filename = "c. \temp\mysheet. xlsx"$objExcel = Đối tượng mới -ComObject Excel. Đăng kí
$objExcel. Cảnh báo hiển thị = $Sai
$objWrkBk = $objExcel. sách bài tập. Mở [$Tên tệp]
$objExcel. Hiển thị = $True
$objWrkSht1 = $objWrkBk. bảng tính. Mục 1]
$objWrkSht1. Lựa chọn[]
$objRange = $objWrkSht1. Phạm vi đã sử dụng
# định nghĩa hằng số
$xlCellTypeLastCell = 11
$xlOpenXMLWorkbook = 51
$xlFilterValues = 7
$xlAnd = 1
$xlOr = 2
$xlLastCell = 11
# tìm ô cuối cùng
$objLastcell = $objRange. SpecialCells[$xlCellTypeLastCell]
$lastrow = $objLastcell. hàng ngang
$lastcolumn = $objLastcell. cột
# Đặt bộ lọc tự động
$Criteria = "=DEF02"
phạm vi $obj. AutoFilter[7,$Criteria]
# Chọn các ô đã lọc
$objExcel. Tế bào hoạt động. SpecialCells[$xlLastCell]. Lựa chọn[]
$objExcel. Phạm vi[$objExcel. Lựa chọn,$objExcel. Tế bào[1]]. Lựa chọn[]
# sao chép và dán vào sổ làm việc mới
$objExcel. Lựa chọn. sao chép[]
$objExcel. sách bài tập. Thêm vào[]
$objExcel. Bảng hoạt động. Dán[]
# đặt nowrap và cột tự động điều chỉnh
$objExcel. tuyển chọn. WrapText = $False
$objExcel. tuyển chọn. Cột. Tự động điều chỉnh[]
$objExcel. Phạm vi ["A2"]. Lựa chọn[]
# lưu dưới dạng sổ làm việc excel mới
$objExcel. ActiveWorkbook. SaveAs["c. \temp\DEF02-SR-Oct-2018. xlsx",$xlOpenXMLWorkbook]
#
$objExcel. sách bài tập. Đóng[]
$objExcel. Từ bỏ[]
Sau khi tự động lọc và lưu dưới dạng sổ làm việc mới
# Điều này có nguồn gốc từ powershell và không thực sự là một phần của Excel
$mycontacts = nhập-csv "c. \temp\danh bạ. csv"
# Tạo các đối tượng tùy chỉnh giống như bảng từ các mục trong tệp CSV
# Một mảng các mục hàng, mỗi cột có thể truy cập bằng. Tên cột dọc
$mycontacts[0]. tên,$mycontacts[0]. địa chỉ,$mycontacts[0]. điện thoại
'------------------'
foreach [$liên hệ trong $mycontacts] { $liên hệ. tên,$liên hệ. địa chỉ, $liên hệ. điện thoại }
nguồn. tệp csv
đầu ra
tom
1 đường chính
12345678
------------
tom
1 đường chính
12345678
tinh ranh
2 mặt đại lộ
23456781
mary
3 lái xe vùng cao
34567812
Bảng liệt kê này nhóm các hằng số lại với nhau được sử dụng với các phương thức Excel khác nhau
NameValueDescriptionxl3DBar-40993D Barxl3DEffects1133D Effects1xl3DEffects2143D Effects2xl3DSurface-41033D SurfacexlAbove0AbovexlAccounting14Accounting1xlAccounting25Accounting2xlAccounting417Accounting4xlAdd2AddxlAll-4104AllxlAccounting36Accounting3xlAllExceptBorders7All Except BordersxlAutomatic-4105AutomaticxlBar2AutomaticxlBelow1BelowxlBidi-5000BidixlBidiCalendar3BidiCalendarxlBoth1BothxlBottom-4107BottomxlCascade7CascadexlCenter-4108CenterxlCenterAcrossSelection7Center Across SelectionxlChart42Chart 4xlChartSeries17Chart SeriesxlChartShort6Chart ShortxlChartTitles18Chart TitlesxlChecker9CheckerxlCircle8CirclexlClassic11Classic1xlClassic22Classic2xlClassic33Classic3xlClosed3ClosedxlColor17Color1xlColor28Color2xlColor39Color3xlColumn3ColumnxlCombination-4111CombinationxlComplete4CompletexlConstants2ConstantsxlContents2ContentsxlContext-5002ContextxlCorner2CornerxlCrissCross16CrissCrossxlCross4CrossxlCustom-4114CustomxlDebugCodePane13Debug Code PanexlDefaultAutoFormat-1Default Auto FormatxlDesktop9DesktopxlDiamond2DiamondxlDirect1DirectxlDistributed-4117DistributedxlDivide5DividexlDoubleAccounting5Double AccountingxlDoubleClosed5Double ClosedxlDoubleOpen4Double OpenxlDoubleQuote1Double QuotexlDrawingObject14Drawing ObjectxlEntireChart20Entire ChartxlExcelMenus1Excel MenusxlExtended3ExtendedxlFill5FillxlFirst0FirstxlFixedValue1Fixed ValuexlFloating5FloatingxlFormats-4122FormatsxlFormula5FormulaxlFullScript1Full ScriptxlGeneral1GeneralxlGray1617Gray16xlGray25-4124Gray25xlGray50-4125Gray50xlGray75-4126Gray75xlGray818Gray8xlGregorian2GregorianxlGrid15GridxlGridline22GridlinexlHigh-4127HighxlHindiNumerals3Hindi NumeralsxlIcons1IconsxlImmediatePane12Immediate PanexlInside2InsidexlInteger2IntegerxlJustify-4130JustifyxlLast1LastxlLastCell11Last CellxlLatin-5001LatinxlLeft-4131LeftxlLeftToRight2Left To RightxlLightDown13Light DownxlLightHorizontal11Light HorizontalxlLightUp14Light UpxlLightVertical12Light VerticalxlList110List1xlList211List2xlList312List3xlLocalFormat115Local Format1xlLocalFormat216Local Format2xlLogicalCursor1Logical CursorxlLong3LongxlLotusHelp2Lotus HelpxlLow-4134LowxlLTR-5003LTRxlMacrosheetCell7MacrosheetCellxlManual-4135ManualxlMaximum2MaximumxlMinimum4MinimumxlMinusValues3Minus ValuesxlMixed2MixedxlMixedAuthorizedScript4Mixed Authorized ScriptxlMixedScript3Mixed ScriptxlModule-4141ModulexlMultiply4MultiplyxlNarrow1NarrowxlNextToAxis4Next To AxisxlNoDocuments3No DocumentsxlNone-4142NonexlNotes-4144NotesxlOff-4146OffxlOn1OnxlOpaque3OpaquexlOpen2OpenxlOutside3OutsidexlPartial3PartialxlPartialScript2Partial ScriptxlPercent2PercentxlPlus9PlusxlPlusValues2Plus ValuesxlReference4ReferencexlRight-4152RightxlRTL-5004RTLxlScale3ScalexlSemiautomatic2SemiautomaticxlSemiGray7510SemiGray75xlShort1ShortxlShowLabel4Show LabelxlShowLabelAndPercent5Show Label and PercentxlShowPercent3Show PercentxlShowValue2Show ValuexlSimple-4154SimplexlSingle2SinglexlSingleAccounting4Single AccountingxlSingleQuote2Single QuotexlSolid1SolidxlSquare1SquarexlStar5StarxlStError4St ErrorxlStrict2StrictxlSubtract3SubtractxlSystem1SystemxlTextBox16Text BoxxlTiled1TiledxlTitleBar8Title BarxlToolbar1ToolbarxlToolbarButton2Toolbar ButtonxlTop-4160TopxlTopToBottom1Top To BottomxlTransparent2TransparentxlTriangle3TrianglexlVeryHidden2Very HiddenxlVisible12VisiblexlVisualCursor2Visual CursorxlWatchPane11Watch PanexlWide3WidexlWorkbookTab6Workbook TabxlWorksheet41Worksheet4xlWorksheetCell3Worksheet CellxlWorksheetShort5Worksheet ShortBảng liệt kê mô hình đối tượng Excel
https. // tài liệu. Microsoft. com/en-us/office/vba/api/excel[liệt kê]
NameValueDescriptionxlAnd1Logical AND của Criteria1 và Criteria2. xlBottom10Items4Các mục có giá trị thấp nhất được hiển thị [số mục được chỉ định trong Tiêu chí 1]. xlBottom10Percent6Các mục có giá trị thấp nhất được hiển thị [phần trăm được chỉ định trong Tiêu chí 1]. xlFilterCellColor8Color của ôxlFilterDynamic11Dynamic filterxlFilterFontColor9Color của phông chữxlFilterIcon10Filter iconxlFilterValues7Filtervalues7FiltervaluesxlOr2Logic OR của Criteria1 hoặc Criteria2. xlTop10Items3Các mục có giá trị cao nhất được hiển thị [số mục được chỉ định trong Tiêu chí 1]. xlTop10Percent5Các mục có giá trị cao nhất được hiển thị [tỷ lệ phần trăm được chỉ định trong Tiêu chí 1]. NameValueDescriptionxlMaximized-4137MaximizedxlMinimized-4140MinimizedxlNormal-4143NormalChỉ định thứ tự sắp xếp cho trường hoặc phạm vi đã chỉ định
NameValueDescripxlAscending1Sắp xếp trường được chỉ định theo thứ tự tăng dần. Đây là giá trị mặc định. xlDescending2Sắp xếp trường đã chỉ định theo thứ tự giảm dầnChỉ định loại ô
NameValueDescripxlCellTypeAllFormatConditions-4172Cell ở bất kỳ định dạng nào. xlCellTypeAllValidation-4174Cells có tiêu chí xác thực. xlCellTypeBlanks4Ô trống. xlCellTypeComments-4144Các ô chứa ghi chú. xlCellTypeConstants2Cells chứa hằng số. xlCellTypeFormulas-4123Các ô chứa công thức. xlCellTypeLastCell11Ô cuối cùng trong phạm vi đã sử dụng. xlCellTypeSameFormatConditions-4173Các ô có cùng định dạng. xlCellTypeSameValidation-4175Cells có cùng tiêu chí xác thực. xlCellTypeVisible12Tất cả các ô hiển thịChỉ định hàng đầu tiên có chứa tiêu đề hay không. Không thể sử dụng khi sắp xếp báo cáo PivotTable