Dhaptar gulung mudhun kanthi multi-pilih

Dhaptar gulung mudhun klasik ing lembar Excel apik banget, nanging mung ngidini sampeyan milih salah siji pilihan saka set sing ditampilake. Kadhangkala iki persis sing dikarepake, nanging ana kahanan pangguna kudu bisa milih sawetara unsur saka dhaftar.

Ayo goleki sawetara implementasine khas saka dhaptar multi-pilih kasebut.

Pilihan 1. Horizontal

Pangguna milih item saka dhaptar gulung mudhun siji-siji, lan katon ing sisih tengen sel sing diganti, kanthi otomatis kadhaptar kanthi horisontal:

Dhaptar gulung mudhun ing sel C2:C5 ing conto iki digawe kanthi cara standar, yaiku

  1. pilih sel C2:C5
  2. tab utawa menu Data milih tim Validasi Data
  3. ing jendhela sing mbukak, pilih opsi List lan nemtokake minangka sawetara sumber sel karo data sumber kanggo dhaftar A1:A8

Banjur sampeyan kudu nambah makro menyang modul sheet, sing bakal nindakake kabeh karya utama, yaiku nambah nilai sing dipilih ing sisih tengen sel ijo. Kanggo nindakake iki, klik-tengen ing tab sheet kanthi dhaptar gulung mudhun lan pilih printah kasebut Sumber kode. Tempel kode ing ngisor iki menyang jendela editor Visual Basic sing mbukak:

Private Sub Worksheet_Change(ByVal Target As Range) On Error Resume Next Yen Ora Intersect(Target, Range("C2:C5")) Ora Ana Apa-apa Lan Target.Cells.Count = 1 Banjur Application.EnableEvents = Palsu Yen Len(Target.Offset (0, 1)) = 0 Banjur Target.Offset(0, 1) = Target Other Target.End(xlToRight).Offset(0, 1) = Target End Yen Target.ClearContents Application.EnableEvents = True End Yen End Sub  

Yen perlu, ganti sawetara sensitif dhaptar gulung mudhun C2:C5 ing baris kapindho kode iki nganggo kode sampeyan dhewe.

Pilihan 2. Vertikal

Padha karo versi sadurunge, nanging nilai anyar sing dipilih ora ditambahake ing sisih tengen, nanging ing sisih ngisor:

Iki ditindakake kanthi cara sing padha, nanging kode makro panangan rada owah:

Private Sub Worksheet_Change(ByVal Target As Range) On Error Resume Next Yen Ora Intersect(Target, Range("C2:F2")) Ora Ana Apa-apa Lan Target.Cells.Count = 1 Banjur Application.EnableEvents = Palsu Yen Len(Target.Offset (1, 0)) = 0 Banjur Target.Offset(1, 0) = Target Liyane Target.End(xlDown).Offset(1, 0) = Target End Yen Target.ClearContents Application.EnableEvents = True End Yen End Sub  

Maneh, yen perlu, ganti kisaran sensitif saka dhaptar gulung mudhun C2:F2 karo sampeyan dhewe ing baris kapindho kode iki.

Pilihan 3. Kanthi akumulasi ing sel sing padha

Ing pilihan iki, akumulasi ana ing sel sing padha ing ngendi dhaptar gulung mudhun. Unsur sing dipilih dipisahake kanthi karakter apa wae (contone, koma):

Dhaptar gulung mudhun ing sel ijo digawe kanthi cara standar, kaya ing cara sadurunge. Kabeh karya wis rampung, maneh, dening makro ing modul sheet:

Private Sub Worksheet_Change(ByVal Target As Range) On Error Resume Next Yen Ora Intersect(Target, Range("C2:C5")) Ora Ana Apa-apa Lan Target.Cells.Count = 1 Banjur Application.EnableEvents = Palsu newVal = Target Application.Undo oldval = Target Yen Len(oldval) <> 0 Lan oldval <> newVal Banjur Target = Target & "," & newVal Else Target = newVal End Yen Len(newVal) = 0 Banjur Target.ClearContents Application.EnableEvents = True End Yen End Sub  

Yen dikarepake, sampeyan bisa ngganti karakter pemisah (koma) ing baris 9 kode karo sampeyan dhewe (contone, spasi utawa titik koma).

  • Cara nggawe dhaptar gulung mudhun sing gampang ing sel sheet excel
  • Dhaptar gulung mudhun karo isi
  • Dhaptar gulung mudhun kanthi opsi sing ilang ditambahake
  • Apa macro, carane nggunakake, ngendi kanggo masang kode macro ing Visual Basic

Ninggalake a Reply