Copia a somma di e cellule selezziunate in u Clipboard

Calchì volta ci vole assai tempu per vene cun certe cose. Ma quandu sò GIÀ inventati, dopu à u fattu parenu evidenti è ancu banali. Da a serie "chì, era pussibule?".

Da e prime versioni, a barra di statutu in u fondu di a finestra di Microsoft Excel tradiziunale mostrava totali per e cellule selezziunate:

Copia a somma di e cellule selezziunate in u Clipboard

Se vulete, era ancu pussibule di cliccà cù u dirittu nantu à questi risultati è selezziunate da u menù di cuntestu esattamente quali funzioni vulemu vede:

Copia a somma di e cellule selezziunate in u Clipboard

È pocu pocu tempu, in l'ultime aghjurnamenti di Excel, i sviluppatori di Microsoft anu aghjustatu una funzione simplice ma ingegnosa - avà quandu cliccate nantu à questi risultati, sò copiati in u clipboard!

Copia a somma di e cellule selezziunate in u Clipboard

Bellezza. 

Ma chì ne di quelli chì ùn anu micca (o digià?) anu una tale versione di Excel? Questu hè induve macros simplici pò aiutà.

Copia a somma di e cellule selezziunate à u Clipboard utilizendu una macro

Apertura in tabulazione documentaliste (Sviluppatore) Orsuvè franese tecnicu o aduprate sta scorciata di tastiera Alt+F11. Inserite un novu modulu viotu via menu Inserisce - Modulu è copià quì u codice seguente:

Sub SumSelected () If TypeName (Selezzione) <> "Range" Allora Esci Sub With GetObject ("New: {1C3B4210-F441-11CE-B9EA-00AA006B1A69}") .SetText WorksheetFunction.Sum (Selezzione) .End WithInd Subboard  

A so logica hè simplice:

  • Prima vene a "prutezzione da u stupidu" - cuntrollemu ciò chì esattamente hè evidenziatu. Se ùn ci sò micca e cellule sò selezziunate (ma, per esempiu, un graficu), allora esce da a macro.
  • Allora usendu u cumandamentu Getobject criemu un novu ogettu di dati induve a nostra somma di e cellule selezziunate serà guardata dopu. Un codice alfanumericu longu è incomprensibile hè, in fattu, un ligame à a filiera di u registru di Windows induve si trova a biblioteca. Microsoft Forms 2.0 Library Object, chì ponu creà tali ogetti. Calchì volta stu truccu hè ancu chjamatu rilegatura tardiva implicita. Sè vo ùn aduprà, allura tu avissi a fari un ligame à sta biblioteca in u schedariu attraversu lu menù Strumenti - Referenze.
  • A summa di e cellule selezziunate hè cunsiderata cum'è cumanda WorksheetFunction.Sum (Selezzione), è dopu a quantità resultanti hè posta nantu à u clipboard cù u cumandimu PutInClipboard

Per facilità d'utilizazione, pudete, sicuru, assignà sta macro à una scurciatoia di tastiera cù u buttone Macros Insignia documentaliste (Sviluppatore - Macros).

È se vulete vede ciò chì esattamente hè statu copiatu dopu avè eseguitu a macro, pudete accende u pannellu Clipboard usendu a freccia chjuca in l'angulu inferjuri destra di u gruppu currispundenti. u principale (Casa) tabulazione:

Copia a somma di e cellule selezziunate in u Clipboard

Micca solu a quantità

Se, in più di a quantità banale, vulete qualcosa altru, pudete aduprà qualsiasi di e funzioni chì l'ughjettu ci furnisce. Funzione Worksheet:

Copia a somma di e cellule selezziunate in u Clipboard

Per esempiu, ci hè:

  • Sum - summa
  • Media - media aritmetica
  • Count - numeru di cellule cù numeri
  • CountA - numeru di cellula piena
  • CountBlank - numeru di cellule viote
  • Min - valore minimu
  • Max - valore massimu
  • Mediana - mediana (valore centrale)
  • ... ecc.

Includendu filtri è colonne nascoste di fila

E se e fila o culonne sò oculate (manualmente o per un filtru) in u intervallu sceltu? Per ùn piglià in contu in i totali, avemu bisognu di mudificà ligeramente u nostru codice aghjunghjendu à l'ughjettu. Pannier a pruprietà Special Cells (xlCellTypeVisible):

Sub SumVisible () If TypeName (Selezzione) <> "Range" Allora Esci Sub With GetObject ("New: {1C3B4210-F441-11CE-B9EA-00AA006B1A69}") .SetText WorksheetFunction.Sum (Selection.SpecialCell)Tells.yx PutInClipboard End With End Sub  

In questu casu, u calculu di ogni funzione tutale serà appiicata solu à e cellule visibili.

Sè avete bisognu di una formula viva

Sè vo sunnià, pudete cullà cù scenarii quandu hè megliu à copià micca un numeru (custanti), ma una formula viva in u buffer, chì calcula i totali chì avemu bisognu per e cellule selezziunate. In questu casu, avete da cola a formula da i frammenti, aghjunghjendu a rimuzione di i segni di u dòricu è rimpiazzà a virgola (chì hè usata com'è separatore trà l'indirizzi di parechji intervalli selezziunati in VBA) cù un puntu e virgola:

Sub SumFormula () If TypeName (Selezzione) <> "Range" Allora Esci Sub With GetObject ("New: {1C3B4210-F441-11CE-B9EA-00AA006B1A69}") .SetText "=СУММ ("(" & Sustituisci.) Indirizzu, ",", ";"), "$", "") & ")" .PutInClipboard End With End Sub  

Summazione cù cundizioni supplementari

È, finarmenti, per completamente maniacs, pudete scrive una macro chì riassume micca tutte e cellule selezziunate, ma solu quelli chì satisfacenu e cundizioni datu. Cusì, per esempiu, una macro sembrerà chì mette a somma di e cellule selezziunate in u Buffer, se i so valori sò più grande di 5 è à u stessu tempu sò pieni di qualsiasi culore:

 Sub CustomCalc () Dim myRange As Range If TypeName (Selezzione) <> "Range" Allora Esci Sub Per Ogni cellula In Selezione If cell.Value > 5 E cell.Interior.ColorIndex <> xlNone Allora If myRange Is Nothing Allora Set myRange = cell Else Set myRange = Union (myRange, cell) End If End If Next cell With GetObject ("Novu: {1C3B4210-F441-11CE-B9EA-00AA006B1A69}") .SetText WorksheetFunction.Sum (myRange) .End With EnClipboard  

Comu pudete facilmente imagine, e cundizioni ponu esse stabilite assolutamente qualsiasi - finu à i formati di cellula - è in ogni quantità (cumpresu liendu cù l'operatori lògichi o o è). Ci hè assai spaziu per l'imaginazione.

  • Cunvertisce e formule in valori (6 modi)
  • Chì sò i macros, cumu si usanu, induve inserisce u codice Visual Basic
  • Informazioni utili in a barra di statutu di Microsoft Excel

Lascia un Audiolibro