Сонгосон нүднүүдийн нийлбэрийг санах ой руу хуулна уу

Заримдаа зарим зүйлийг бодож олоход маш удаан хугацаа шаардагддаг. Гэхдээ тэд аль хэдийн зохион бүтээгдсэн үед тэд тодорхой, бүр улиг болсон мэт санагддаг. "Юу, боломжтой байсан бэ?" Цувралаас.

Эхний хувилбаруудаас эхлэн 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-ийн төлөвийн мөрөнд хэрэгтэй мэдээлэл

хариу үлдээх