Excel - Jalankan makro apabila item dipilih dari senarai jatuh turun

Microsoft Office adalah Perisian Pejabat komersil dengan pelayan, perkhidmatan dan aplikasi desktop yang dianjurkan untuk sistem pengendalian Windows dan Mac OS X. Perisian Pejabat ini mengandungi aplikasi yang dipanggil Microsoft Excel yang merupakan aplikasi spreadsheet komersial yang menampilkan pengaturcaraan makro, pengiraan, dan sebagainya. Makro adalah satu siri arahan dalam Excel, yang melaksanakan tugas tertentu. Sekiranya anda ingin melakukan tugas tertentu secara berulang-ulang maka anda boleh mengautomasikan tugas itu dengan makro. Senarai drop-down membolehkan anda memasuki data ke dalam spreadsheet dari senarai penyertaan pra-set. Ia menjadikan kemasukan data mudah dan mengurung bilangan jawatan untuk memasukkan data. Anda boleh menjalankan makro yang berbeza untuk setiap pemilihan dalam senarai drop-down.

Isu

Saya telah dapat membuat makro yang akan mengisi sel dalam lajur A dengan tarikh & Sel dalam lajur B dengan masa (dengan rujukan relatif sehingga ia akan melakukannya pada baris apa saja kursor masuk) dan telah dipanggil itu datetimeentry (ia adalah modul)

 Sub datetimeentry () '' datetimeentry Macro '' ActiveCell.Value = Date ActiveCell.Offset (0, 1) .Range ("A1") .Select ActiveCell.Value = Time ActiveCell.Offset (0, 2) ") .Select End Sub 
  • Saya juga telah membuat senarai jatuh turun di ruangan C untuk dipilih. Apa yang saya mahu lakukan ialah:
  • Saya ingin membuat lekapan makro sebaik sahaja saya memilih sesuatu dari senarai jatuh turun. Makro ini harus berjalan pada barisan yang sama dengan sel yang saya pilih.

yakni jika saya memilih dari senarai dropdown di sel c1156 daripada yang saya mahu macro dijalankan dan masukkan tarikh di A1156 & waktu di B1156 kemudian lompat ke sel D1156 untuk saya masukkan nilai dalam.

Penyelesaian

Baik sekali saya katakan, kegagalan adalah pilihan yang sangat sah: P

Anda perlu menentukan fungsi ini:

Sub Kerja Lembar_Change (ByVal Target As Range)

Sub Akhir

Katakan lembaran yang kita bicarakan adalah sheet1

  • Jadi buka VBE dan klik dua kali pada sheet1 pada explorer projek
  • Tampalkan rutin ini dan baca komen dalam kod mengenai kosong

 Sub Kanan Worksheet_Change (ByVal Target As Range) 'di sini 3 ialah lajur nombor 3 yang merupakan lajur C Jika (Target.Column 3) Kemudian Keluar Sub Permohonan.EnableEvents = Palsu thisrow = Target.Row Jika Target.Value = "" Kemudian' sekarang anda boleh memberi komen kod jika tidak masuk akal 'tetapi ideanya adalah jika sel di ruang C telah dibersihkan, ' tarikh dan masa yang sepadan juga harus dibersihkan Sel (thisrow, "A") = "" Sel (thisrow, "B") = "" Else Cells (thisrow, "A") = Date Cells (thisrow, "B") = End Time If Application.EnableEvents = 

Perhatikan bahawa

Terima kasih kepada rizvisa1 untuk tip ini di forum.

Artikel Sebelumnya Artikel Seterusnya

Tip-Tip Utama