Excel - Pokreni makronaredbu kada je stavka odabrana iz padajućeg popisa

Microsoft Office je komercijalni softver tvrtke Office s organiziranim poslužiteljima, uslugama i aplikacijama za stolna računala za operacijske sustave Windows i Mac OS X. Ovaj Office softver sadrži aplikaciju pod nazivom Microsoft Excel koja je komercijalna aplikacija za proračunske tablice s makro programiranjem, kalkulacijama i sl. Makro je niz uputa u Excelu, koji obavlja određeni zadatak. Ako želite izvesti određeni zadatak koji se ponavlja, možete taj zadatak automatizirati pomoću makronaredbe. Padajući popis omogućuje unos podataka u proračunsku tablicu s unaprijed postavljenog popisa unosa. To čini unos podataka jednostavnijim i ograničava broj mjesta za unos podataka. Na padajućem popisu možete pokrenuti drugu makro za svaki odabir.

Problem

Uspio sam stvoriti makronaredbu koja će popuniti ćeliju u stupcu A s datumom & ćelijom u B stupcu s vremenom (s relativnim referencama tako da će to učiniti na bilo kojem retku u kojem se nalazi pokazivač) i nazvali to datetimeentry (to je modul)

 Sub datetimeentry () '' datetimeentry Makro '' ActiveCell.Value = Datum ActiveCell.Offset (0, 1) .Range ("A1"). Odaberite ActiveCell.Value = Vrijeme ActiveCell.Offset (0, 2) .Range ("A1 "). Odaberite Kraj pod 
  • Također sam izradio padajući popis u stupcu C za odabir. Ono što želim učiniti je ovo:
  • Želim napraviti makronaredbu nakon što odaberem nešto s padajućeg popisa. Ova makronaredba trebala bi se izvoditi u istom retku kao i ćelija iz koje sam je pokupio.

tj .: ako odaberem iz padajućeg popisa u ćeliji c1156 nego što želim da se makronaredba pokrene i umetne datum u A1156 i vrijeme u B1156, onda skoči na ćeliju D1156 za mene da unesem vrijednost u.

Riješenje

Pa prvo mi recite, neuspjeh je vrlo valjana opcija: P

Trebate definirati ovu funkciju:

Privatni pod radni list_Promjena (ByVal Target as Range)

Kraj pod

Recimo da je list o kojem govorimo je sheet1

  • Stoga otvorite VBE i dvaput kliknite na sheet1 na projektu explorer
  • Zalijepite ovu rutinu i pročitajte komentare u kodu o praznom

 Private Sub Worksheet_Change (ByVal Target As Range) 'ovdje 3 je stupac broj 3 koji je stupac C Ako (Target.Column 3) Zatim Exit Sub Application.EnableEvents = False thisrow = Target.Row Ako Target.Value = "" Onda "sada možete komentirati kôd ako nema smisla "ali ideja je ako je ćelija u stupcu C izbrisana", odgovarajući datum i vrijeme trebali bi biti izbrisani previše Cells (thisrow, "A") = "" Ćelije (thisrow, "B") = "" Else Cells (thisrow, "A") = Datum ćelije (thisrow, "B") = Kraj vremena Ako Application.EnableEvents = Istinski kraj Sub 

Zapamtite to

Zahvaljujući rizvisa1 za ovaj savjet na forumu.

Prethodni Članak Sljedeći Članak

Top Savjeta