Kopéiert Zomm vun ausgewielten Zellen op Clipboard

Heiansdo dauert et ganz laang fir mat e puer Saachen ze kommen. Awer wann se SCHON erfonnt sinn, schéngen se no der Tatsaach offensichtlech a souguer banal. Aus der Serie "wat, et war méiglech?".

Vun den Ă©ischte Versiounen huet d'Statusbar um Enn vun der Microsoft Excel FĂ«nster traditionell Gesamtzuel fir ausgewielte Zellen ugewisen:

Kopéiert Zomm vun ausgewielten Zellen op Clipboard

Wann Dir wëllt, war et souguer méiglech op dës Resultater mat der rietser Maustast ze klicken an aus dem Kontextmenü genau ze wielen wéi eng Funktiounen mir wëllen gesinn:

Kopéiert Zomm vun ausgewielten Zellen op Clipboard

A just viru kuerzem, an de leschten Excel Updates, hunn Microsoft Entwéckler eng einfach awer genial Feature bäigefüügt - elo wann Dir op dës Resultater klickt, ginn se op de Clipboard kopéiert!

Kopéiert Zomm vun ausgewielten Zellen op Clipboard

SchĂ©inheet. 

Mä wéi ass et mat deenen, déi nach net (oder schonn?) esou eng Versioun vun Excel hunn? Dëst ass wou einfach Makroen hëllefe kënnen.

Kopéiert d'Zomm vun ausgewielten Zellen op de Clipboard mat engem Makro

Open am Tab EntwĂ©ckler (EntwĂ©ckler) Editeur visuell Grondleegend oder benotzt dĂ«s Tastatur Ofkiirzung Alt+F11. Gitt nei eidel Modul iwwer MenĂĽ Insert - Modul a kopĂ©iert de folgende Code do:

Sub SumSelected() If TypeName(Selection) <> "Range" Dann Exit Sub With GetObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}") .SetText WorksheetFunction.Sum(Selection) .PutInClipboard End With EndClipboard  

Seng Logik ass einfach:

  • Als Ă©ischt kĂ«nnt de "Schutz vum Narren" - mir kucken wat genau beliicht ass. Wann net Zellen ausgewielt ginn (awer, zum Beispill, en Diagramm), da gitt de Makro aus.
  • Da benotzt de Kommando Getobjekt mir kreĂ©ieren en neien Dateobjekt wou eis Zomm vun ausgewielten Zellen spĂ©ider gespäichert ginn. E laangen an onverständlechen alphanumeresche Code ass tatsächlech e Link op d'Windows Registry Branche wou d'BibliothĂ©ik läit Microsoft Forms 2.0 ObjektbibliothĂ©ik, dĂ©i esou Objeten erstellen kĂ«nnen. Heiansdo gĂ«tt dĂ«sen Trick och genannt implizit spĂ©it Bindung. Wann Dir et net benotzt, da musst Dir e Link op dĂ«s BibliothĂ©ik an der Datei duerch de MenĂĽ maachen Tools - Referenzen.
  • D'Zomm vun den ausgewielten Zellen gĂ«tt als Kommando ugesinn WorksheetFunction.Sum(Selection), an da gĂ«tt de resultĂ©ierende Betrag op de Clipboard mat dem Kommando gesat PutInClipboard

Fir einfach ze benotzen, kënnt Dir natierlech dëse Macro op eng Tastatur Ofkiirzung mat de Knäppchen zouweisen macros Reiter Entwéckler (Entwéckler - Macros).

A wann Dir wĂ«llt gesinn wat genee kopĂ©iert gouf nodeems Dir de Macro leeft, kĂ«nnt Dir de Clipboard Panel mat dem klenge Pfeil an der Ă«nneschter rechter Ecke vun der entspriechender Grupp opmaachen der HaaptentrĂ©e (Heem) Tab:

Kopéiert Zomm vun ausgewielten Zellen op Clipboard

Net nëmmen de Betrag

Wann Dir, nieft dem banalen Betrag, eppes anescht wëllt, da kënnt Dir eng vun de Funktiounen benotzen, déi den Objet eis ubitt Worksheet Funktioun:

Kopéiert Zomm vun ausgewielten Zellen op Clipboard

Zum Beispill gëtt et:

  • Zomm - Zomm
  • DuerchschnĂ«tt - arithmetesch Moyenne
  • Zuel - Zuel vun Zellen mat Zuelen
  • CountA - Zuel vu gefĂ«llten Zellen
  • CountBlank - Zuel vun eidelen Zellen
  • Min - Minimum Wäert
  • Max - maximal Wäert
  • Median - Median (Zentralwäert)
  • ... asw.

Inklusiv Filteren a verstoppte Reihenkolonnen

Wat wann Reihen oder Kolonnen verstoppt sinn (manuell oder duerch e Filter) am ausgewielten Beräich? Fir se net an den Totalen ze berücksichtegen, musse mir eise Code liicht änneren andeems Dir op den Objet bäidréit selektionéiert Propriétéit SpecialCells(xlCellTypeVisible):

Sub SumVisible() If TypeName(Selection) <> "Range" Dann Exit Sub With GetObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}") .SetText WorksheetFunction.Sum(Selection.eVisellTsible)yp(xVicellCell)yp. PutInClipboard Enn Mat Enn Sub  

An dësem Fall gëtt d'Berechnung vun all Gesamtfunktioun nëmme fir sichtbar Zellen applizéiert.

Wann Dir braucht e Liewesniveau Formule

Wann Dir dreemt, kënnt Dir mat Szenarie kommen, wann et besser ass net eng Nummer (konstant) ze kopéieren, awer eng lieweg Formel an de Puffer, déi d'Totale berechent, déi mir fir déi gewielte Zellen brauchen. An dësem Fall musst Dir d'Formel aus Fragmenter leeën, dozou bäidroen d'Entfernung vun Dollarschëlder an de Komma ersetzen (deen als Separator tëscht Adressen vu verschiddene gewielte Beräicher an VBA benotzt gëtt) mat engem Semikolon:

Sub SumFormula() If TypeName(Selection) <> "Range" Dann Exit Sub With GetObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}") .SetText "=СУММ(" & Replace.(Selection. Adress, ",", ";"), "$", "") & ")" .PutInClipboard End With End Sub  

Summatioun mat zousätzlech Konditiounen

A schliisslech, fir komplett Maniacs, kënnt Dir e Makro schreiwen, deen net all déi ausgewielte Zellen summéiert, awer nëmmen déi, déi déi gegebene Konditioune erfëllen. Also, zum Beispill, wäert e Makro ausgesinn wéi deen d'Zomm vun ausgewielten Zellen an de Buffer setzt, wann hir Wäerter méi wéi 5 sinn a gläichzäiteg si mat enger Faarf gefëllt:

 Sub CustomCalc() Dim myRange As Range If TypeName(Selection) <> "Range" Dann Exit Sub For All Zell In Selection If cell.Value > 5 And cell.Interior.ColorIndex <> xlNone Then If myRange Is Nothing Then Set myRange = cell Else Set myRange = Union(myRange, cell) End If End If Next cell With GetObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}") .SetText WorksheetFunction.Sum(myRange) .PutInClipboard  

Wéi Dir Iech ganz einfach virstellen kënnt, kënnen d'Konditioune absolut all gesat ginn - bis zu Zellformater - an an all Quantitéit (och andeems se se mat logesche Betreiber oder oder an verbannen). Et gëtt vill Plaz fir Fantasi.

  • KonvertĂ©iert Formelen op Wäerter (6 WeeĂ«r)
  • Wat sinn Makroen, wĂ©i se se benotzen, wou Visual Basic Code aginn
  • NĂ«tzlech Informatioun an der Statusbar vu Microsoft Excel

Hannerlooss eng Ă„ntwert