Inhalter
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:
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:
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!
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:
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:
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.
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