Hitung jumlah sel yang dipilih


3

Bagaimana cara menghitung jumlah sel yang dipilih, terlepas dari konten sel?

Ada dua kasus penggunaan. Saya perlu menggunakan case 2 sekarang:

  1. Ketika saya membuat satu atau beberapa pilihan, saya ingin tahu berapa banyak sel,
  2. Saya ingin memilih sel N persis menggunakan beberapa pilihan. Saya terus membuat dan mengubah ukuran pilihan hingga jumlahnya (yang harus langsung ditampilkan di layar) mencapai N

Untuk # 1 Saya memiliki solusi: Pilih sel tunggal yang berisi teks, salin (sehingga memiliki batas animasi), lalu buat pilihan Anda, tekan tempel, dan baca hitungan di bilah status.

Untuk # 2 saya tidak tahu solusi yang tidak melibatkan pengulangan solusi # 1 puluhan kali dan kemudian tekan undo.

masukkan deskripsi gambar di sini


Apakah poin 2 mengatakan Anda tahu Anda ingin memilih A3: A6 dan B: 5 ke B: 11 dan C1: C22 dan Anda ingin memiliki jalan cepat untuk memilihnya?
Dave

# 2 juga bisa dilakukan dengan VBA tetapi rumit karena Anda akan membutuhkan cara mengumpulkan jawaban di antara pilihan sel. Mungkin tombol untuk memulai dan tombol lainnya untuk mengatur ulang. Butuh banyak latihan. Saran saya adalah membuat pertanyaan kedua yang menyatakan apa yang ingin Anda MENCAPAI sehingga Anda mendapatkan beberapa pendekatan alternatif.
Julian Knight

Tidak, @Dave, saya tahu saya ingin memilih, misalnya, 40 sel, dan kemudian saya ingin membuat pilihan di antara janji yang ada (seperti gambar), hingga 40 sel dipilih.
Mark Jeronimus

Apa yang salah dengan menahan CTRL dan memilih sel yang Anda inginkan? Atau apakah saya masih tidak mengerti pertanyaan: S
Dave

Jawaban:


1

Untuk mengatasi titik # 1, Anda dapat menggunakan VBa ini. Masalahnya adalah Anda tidak menjelaskan bagaimana Anda ingin melihat detail ini !? Jadi saya menambahkannya sebagai Kotak Pesan.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Dim totalCells As Long
totalCells = Selection.Cells.Count

MsgBox (totalCells)
End Sub

Saya menambahkan VBa ke Sheet1. Lihat juga Bagaimana cara menambahkan VBA di MS Office?

Hanya saja jangan pilih semua sel karena akan melalui pengecualian melimpah

masukkan deskripsi gambar di sini

Masalahnya adalah pop up akan muncul setiap saat, saya sarankan Anda ganti

Sub Lembar Kerja Swasta_Seleksi Ubah (Rentang Target Sebagai ByVal)

MsgBox (totalCells)

dengan

Range("M1").Value = totalCells ' CHANGE THE RANGE TO THE CELL YOU WANT

Saya mengubah kotak pesan Application.StatusBar = totalCellsdan itu memecahkan poin saya # 2
Mark Jeronimus

Sekarang jika saya hanya bisa membuat skrip ini mendunia sehingga saya bisa menggunakannya di semua lembar semua buku kerja, itu akan luar biasa.
Mark Jeronimus

Anda dapat meretasnya dan menyalinnya ke masing-masing, tetapi pertanyaan Anda cukup baik untuk mengajukan pertanyaan baru!
Dave

0

Satu-satunya cara saya bisa berpikir untuk melakukan apa yang Anda inginkan adalah dengan VBA.

Jika Anda ingin fungsi untuk meletakkan ini di sel - sesuatu seperti ini akan berfungsi:

Public Function cellcount()
Application.Volatile
cellcount = Selection.Cells.count
End Function

Anda dapat menjalankan kembali fungsi dengan menekan F9 untuk mendapatkan jawaban setelah setiap perubahan berubah.


0

Terima kasih banyak, semuanya. Info Anda di atas mungkin sudah berusia beberapa tahun, tetapi tepat seperti yang saya butuhkan hari ini. Jika itu menghasilkan ide-ide untuk orang lain, inilah cara saya men-tweak di atas untuk kebutuhan saya. (Biaya kami sebenarnya bukan $ 2 / jam, tentu saja. Tetapi Anda mendapatkan idenya.) Terima kasih!

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

    Const HOURS As Integer = 10        ' hours per cell
    Const COST As Integer = 2 * HOURS  ' dollars per cell
    Const SPACER As String = "   "

    Dim numCells As Long

    numCells = Selection.Cells.Count

    If numCells < 2 Then

        Application.StatusBar = False

    Else

        On Error Resume Next ' in case the selection is so large it causes an overflow error
        Application.StatusBar = "Cells: " & numCells _
                     & SPACER & "Hours: " & (numCells * HOURS) _
                     & SPACER & "Cost: " & FormatCurrency(numCells * COST, 0)

    End If

End Sub
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.