Paragraf
Kadhangkala butuh wektu sing suwe kanggo nggawe sawetara perkara. Nanging nalika padha wis wis nemokke, sawise kasunyatan padha katon ketok lan malah banal. Saka seri "apa, iku bisa?".
Saka versi pisanan, garis status ing sisih ngisor jendela Microsoft Excel kanthi tradisional nampilake total kanggo sel sing dipilih:
Yen dikarepake, bisa uga klik-tengen ing asil kasebut lan pilih saka menu konteks kanthi persis fungsi sing pengin dideleng:
Lan bubar, ing nganyari Excel paling anyar, pangembang Microsoft nambahake fitur sing prasaja nanging cerdik - saiki nalika sampeyan ngeklik asil kasebut, bakal disalin menyang clipboard!
Beauty.
Nanging kepiye wong sing durung (utawa wis?) duwe versi Excel kasebut? Iki ngendi makro prasaja bisa mbantu.
Nyalin jumlah sel sing dipilih menyang Clipboard nggunakake makro
Bukak ing tab pangembang (Pengembang) editor visual Basic utawa gunakake trabasan keyboard iki Alt+F11. Lebokake modul kosong anyar liwat menu Insert - Modul lan salin kode ing ngisor iki ana:
Sub SumSelected() Yen TypeName(Selection) <> "Range" Banjur Exit Sub With GetObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}") .SetText WorksheetFunction.Sum(Selection) .PutInClipboard
Logikanya sederhana:
- Pisanan teka "perlindhungan saka wong bodho" - kita mriksa apa persis sing disorot. Yen sel ora dipilih (nanging, contone, grafik), banjur metu saka makro.
- Banjur nggunakake printah Getobjek kita nggawe obyek data anyar ing ngendi jumlah sel sing dipilih bakal disimpen mengko. Kode alfanumerik sing dawa lan ora bisa dingerteni, nyatane, minangka tautan menyang cabang pendaptaran Windows ing ngendi perpustakaan kasebut ana. Pustaka Obyek Microsoft Forms 2.0, sing bisa nggawe obyek kasebut. Kadhangkala trik iki uga diarani implisit pungkasan naleni. Yen sampeyan ora nggunakake, sampeyan kudu nggawe link menyang perpustakaan iki ing file liwat menu Piranti - Referensi.
- Jumlah sel sing dipilih dianggep minangka printah WorksheetFunction.Sum(Selection), banjur jumlah asil diselehake ing clipboard karo printah PutInClipboard
Kanggo gampang digunakake, sampeyan bisa, mesthi, nemtokake makro iki menyang trabasan keyboard nggunakake tombol macro tab pangembang (Pangembang - Makro).
Lan yen sampeyan pengin ndeleng apa persis sing disalin sawise mbukak makro, sampeyan bisa nguripake panel Clipboard nggunakake panah cilik ing pojok tengen ngisor grup sing cocog ing Utama (Ngarep) tab:
Ora mung jumlah
Yen, saliyane jumlah banal, sampeyan pengin liyane, sampeyan bisa nggunakake fungsi apa wae sing diwenehake obyek kasebut. Fungsi Lembar Kerja:
Contone, ana:
- Sum – sum
- Rata-rata - rata-rata aritmetika
- Count - nomer sel karo nomer
- CountA - jumlah sel sing diisi
- CountBlank - jumlah sel kosong
- Min - nilai minimal
- Max - nilai maksimum
- Median - median (nilai tengah)
- … Lsp.
Apa yen larik utawa kolom didhelikake (kanthi manual utawa filter) ing sawetara sing dipilih? Supaya ora njupuk menyang akun ing total, kita kudu rada ngowahi kode kanthi nambahake obyek kasebut. pilihan property Sel Khusus(xlCellTypeVisible):
Sub SumVisible() Yen TypeName(Selection) <> "Range" Banjur Metu Sub With GetObject("Anyar:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}") .SetText WorksheetFunction.Sum(Selection.SpecialCell)Tx PutInClipboard End Kanthi End Sub
Ing kasus iki, pitungan fungsi total bakal ditrapake mung ing sel sing katon.
Yen sampeyan butuh rumus urip
Yen ngimpi munggah, sampeyan bisa teka munggah karo skenario nalika iku luwih apik kanggo nyalin ora nomer (pancet), nanging rumus urip menyang buffer, kang ngetung total kita perlu kanggo sel milih. Ing kasus iki, sampeyan kudu nempelake rumus saka pecahan, nambahake mbusak tandha dolar lan ngganti koma (sing digunakake minangka pemisah ing antarane alamat sawetara kisaran sing dipilih ing VBA) kanthi titik koma:
Sub SumFormula () Yen TypeName (Pilihan) <> "Range" Banjur Metu Sub Kanthi GetObject ("Anyar: {1C3B4210-F441-11CE-B9EA-00AA006B1A69}") .SetText "= СУММ (" & Ganti (Ganti (Seleksi). Alamat, ",", ";"), "$", "") & ")" .PutInClipboard End With End Sub
Summation karo kahanan tambahan
Lan, pungkasane, kanggo maniacs rampung, sampeyan bisa nulis makro sing bakal nyimpulake ora kabeh sel sing dipilih, nanging mung sing nyukupi kahanan sing diwenehake. Dadi, contone, makro bakal katon kaya sing nempatake jumlah sel sing dipilih menyang Buffer, yen nilai luwih saka 5 lan ing wektu sing padha diisi warna apa wae:
Sub CustomCalc() Dim myRange Minangka Range Yen TypeName(Selection) <> "Range" Banjur Metu Sub Kanggo Saben sel Ing Pilihan Yen cell.Value > 5 Lan cell.Interior.ColorIndex <> xlOra Banjur Yen myRange Ora Ana Apa-apa Banjur Setel myRange = sel Else Set myRange = Union(myRange, cell) End If End Yen Next cell With GetObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}") .SetText WorksheetFunction.Sum(myRange) .PutInClipboard End With End
Minangka sampeyan bisa mbayangno kanthi gampang, kahanan bisa disetel pancen apa wae - nganti format sel - lan ing jumlah apa wae (kalebu kanthi ngubungake karo operator logis utawa utawa lan). Ana akeh ruang kanggo imajinasi.
- Ngonversi rumus dadi nilai (6 cara)
- Apa macro, carane nggunakake, ngendi kanggo masang kode Visual Basic
- Informasi migunani ing garis status Microsoft Excel