Агуулга
Заримдаа зарим зүйлийг бодож олоход маш удаан хугацаа шаардагддаг. Гэхдээ тэд аль хэдийн зохион бүтээгдсэн үед тэд тодорхой, бүр улиг болсон мэт санагддаг. "Юу, боломжтой байсан бэ?" Цувралаас.
Эхний хувилбаруудаас эхлэн Microsoft Excel-ийн цонхны доод хэсэгт байрлах төлөвийн мөрөнд сонгосон нүднүүдийн нийлбэр дүнг харуулдаг.
Хэрэв хүсвэл эдгээр илэрцүүд дээр хулганы баруун товчийг дараад контекст цэснээс яг ямар функцийг харахыг хүсч байгаагаа сонгох боломжтой байсан.
Саяхан Excel-ийн хамгийн сүүлийн үеийн шинэчлэлтүүд дээр Microsoft-ын хөгжүүлэгчид энгийн боловч гайхалтай функцийг нэмсэн - одоо та эдгээр илэрц дээр дарахад тэдгээрийг санах ой руу хуулах болно!
Гоо сайхан.
Гэхдээ Excel-ийн ийм хувилбар хараахан болоогүй (эсвэл аль хэдийн?) хүмүүс яах вэ? Энд энгийн макронууд тусалж чадна.
Сонгосон нүднүүдийн нийлбэрийг макро ашиглан санах ойд хуулж байна
Таб дээр нээнэ үү Developer (Хөгжүүлэгч) редактор Visual Basic эсвэл энэ гарын товчлолыг ашиглана уу Alt+F11. Цэсээр дамжуулан шинэ хоосон модулийг оруулна уу Оруулах - Модуль Дараах кодыг тэнд хуулж авна уу.
Sub SumSelected() Хэрэв TypeName(Сонголт) <> "Range" бол GetObject("Шинэ:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}") .SetText WorksheetFunction.Sum(Selection) EnPd EnPd-тай дэд хэсгээс гарна уу.
Үүний логик нь энгийн:
- Эхлээд "тэнэгээс хамгаалах" ирдэг - бид яг юуг онцолсоныг шалгадаг. Хэрэв нүднүүдийг сонгоогүй бол (жишээлбэл, диаграм) макроноос гарна уу.
- Дараа нь командыг ашиглана уу Getobject Бид сонгосон нүднүүдийн нийлбэрийг дараа нь хадгалах шинэ өгөгдлийн объект үүсгэдэг. Урт бөгөөд ойлгомжгүй үсэг, тоон код нь үнэндээ номын сан байрладаг Windows бүртгэлийн салбартай холбогдох холбоос юм. Microsoft Forms 2.0 объектын номын сан, ийм объектуудыг үүсгэж болно. Заримдаа энэ заль мэхийг бас нэрлэдэг далд хожуу холбох. Хэрэв та үүнийг ашиглахгүй бол цэсээр дамжуулан файлын номын сан руу холбоос хийх шаардлагатай болно Хэрэгсэл - Лавлагаа.
- Сонгосон нүднүүдийн нийлбэрийг тушаал гэж үзнэ WorksheetFunction.Sum(Сонголт), дараа нь гарсан дүнг командын тусламжтайгаар санах ойд байрлуулна PutInClipboard
Хэрэглэхэд хялбар болгохын тулд та мэдээж товчлуурыг ашиглан энэ макрог гарын товчлолд оноож болно Макроны таб Developer (Хөгжүүлэгч — Макро).
Хэрэв та макро ажиллуулсны дараа яг юу хуулсан болохыг харахыг хүсвэл "Clipboard" самбарыг холбогдох бүлгийн баруун доод буланд байрлах жижиг сумыг ашиглан асааж болно. Үндсэн (Нүүр хуудас) таб:
Зөвхөн хэмжээ ч биш
Хэрэв та хэт их хэмжээнээс гадна өөр зүйл хүсч байвал объектын бидэнд өгсөн функцүүдийн аль нэгийг ашиглаж болно. Ажлын хуудасны функц:
Жишээ нь, байдаг:
- нийлбэр - нийлбэр
- Дундаж - арифметик дундаж
- Count - тоо бүхий нүдний тоо
- CountA - дүүргэсэн нүдний тоо
- CountBlank – хоосон нүднүүдийн тоо
- Min - хамгийн бага утга
- Макс - хамгийн их утга
- Медиан – медиан (төв утга)
- ... гэх мэт.
Сонгосон мужид мөр, багануудыг (гараар эсвэл шүүлтүүрээр) нуусан бол яах вэ? Тэдгээрийг нийлбэр дүнгээр тооцохгүйн тулд бид объект руу нэмж кодоо бага зэрэг өөрчлөх шаардлагатай болно. Сонголт үл хөдлөх хөрөнгийн SpecialCells(xlCellTypeVisible):
Sub SumVisible() Хэрэв TypeName(Selection) <> "Range" бол GetObject("Шинэ:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}") .SetText WorksheetFunction.Sum(Selection.Seells.)VCialCisible.Special. PutInClipboard-ийн төгсгөл нь Төгсгөлийн Дэд
Энэ тохиолдолд аливаа нийт функцийн тооцоог зөвхөн харагдахуйц нүднүүдэд хэрэглэнэ.
Хэрэв танд амьд томъёо хэрэгтэй бол
Хэрэв та мөрөөдөж байгаа бол сонгосон нүднүүдэд шаардлагатай нийлбэр дүнг тооцдог буферт тоо (тогтмол) биш харин амьд томъёог хуулах нь илүү дээр болох хувилбаруудыг гаргаж ирж болно. Энэ тохиолдолд та томьёог хэсгүүдээс нааж, долларын тэмдгийг арилгаж, таслалыг (VBA дахь хэд хэдэн сонгосон мужуудын хаягуудын хооронд тусгаарлагч болгон ашигладаг) цэгтэй таслалаар солих шаардлагатай болно.
Sub SumFormula() Хэрэв TypeName(Сонголт) <> "Range" бол GetObject-тэй дэд гарна("Шинэ:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}") .SetText "=СУММ(" & Replace(Replace(Selection). Хаяг, ",", ";"), "$", "") & ")" .PutInClipboard End with End Sub
Нэмэлт нөхцөл бүхий нийлбэр
Эцэст нь, бүрэн маньякуудын хувьд та сонгосон бүх нүдийг биш, зөвхөн өгөгдсөн нөхцөлийг хангасан нүдийг нэгтгэх макро бичиж болно. Жишээлбэл, макро нь сонгосон нүднүүдийн нийлбэрийг буферт оруулахтай адил харагдах болно, хэрэв тэдгээрийн утга нь 5-аас их бөгөөд нэгэн зэрэг ямар ч өнгөөр дүүргэгдсэн бол:
Sub CustomCalc() MyRange-ийг Range болгон бүдэгрүүлнэ.Хэрэв TypeName(Selection) <> "Range" Дараа нь Сонгосон нүд бүрийн хувьд Sub-ээс гарвал cell.Value > 5 ба cell.Interior.ColorIndex <> xlNone Хэрэв myRange юу ч биш бол myRange-г тохируулна уу = cell Else myRange = Union(myRange, cell) End If End If Next нүд GetObject-тэй("Шинэ:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}") .SetText WorksheetFunction.Sum(myRange) EndCD-тай.
Таны төсөөлж байгаачлан нөхцөлийг ямар ч (нүдний формат хүртэл) болон ямар ч хэмжээгээр (түүний дотор логик операторууд эсвэл эсвэл ба) холбох замаар тохируулж болно. Төсөөллийн хувьд маш их зай бий.
- Томьёог утга болгон хөрвүүлэх (6 арга)
- Макро гэж юу вэ, тэдгээрийг хэрхэн ашиглах, Visual Basic кодыг хаана оруулах вэ
- Microsoft Excel-ийн төлөвийн мөрөнд хэрэгтэй мэдээлэл