Hvordan legge til dialogbokser til makroer i Excel med Visual Basic Editor

April 15  by Eliza

Du kan bruke InputBox funksjonen for å legge til dialogbokser til dine Excel 2013 makroer. Når du kjører makroen, dette Visual Basic-funksjonen gjør at Excel for å vise en Input dialogboks der du kan skrive inn hva tittelen er fornuftig for det nye regnearket. Makroen deretter setter som tekst i gjeldende celle og formater denne teksten, hvis det er det du har trent makroen skal gjøre videre.

For å se hvor enkelt det er å bruke InputBox funksjonen for å legge til interaktivitet til en ellers trauste makro, følger du trinnene for å konvertere selskapets _ Navn makro som for tiden innganger teksten "Mind Over Media" til en som faktisk spør etter navnet som du vil ha inn. Den InputBox funksjonen bruker følgende syntaks:

InputBox (rask [, tittel] [, standard] [, XPOS] [, ypos] [, hjelpefilen, kontekst])

I denne funksjonen er bare rask argument nødvendig med resten av argumentene være valgfritt. Den rask argumentet angir meldingen som vises inne i dialogboksen for innskriving, spørre brukeren om å angi en ny verdi (eller i dette tilfellet, et nytt firmanavn).

Den rask argument kan være opp til maksimalt 1024 tegn. Hvis du vil at meldingen meldingen skal vises på forskjellige linjer inne i dialogboksen angir du den funksjoner Chr (13) og Chr (10) i teksten (for å sette inn et linjeskift og et linjeskift i meldingen, henholdsvis).

Den valgfrie tittel argumentet angir hvilken tekst som skal vises i tittellinjen i dialogboksen for innskriving. Hvis du ikke angir en tittel argument, viser Excel navnet på programmet på tittellinjen. Den valgfrie standard argumentet angir standardsvar som vises automatisk i tekstboksen nederst i dialogboksen Input-boksen.

Hvis du ikke angir en standard argument, er tekstboksen tom i dialogboksen Input-boksen.

De XPOS og ypos valgfrie argumenter spesifisere den horisontale avstanden fra venstre kant av skjermen til venstre kant av dialogboksen og den vertikale avstand fra den øverste kanten av skjermen til den øverste kanten av dialogboksen. Hvis du ikke spesifiserer disse argumentene, sentre Excel inngangs dialogboksen horisontalt og posisjonerer det omtrent en tredjedel av veien ned skjermen vertikalt.

Hjelpefilen og kontekstvalgfrie argumenter angi navnet på den tilpassede hjelpefilen som du gjør tilgjengelig for brukeren å forklare arbeidet i Input dialogboksen samt hvilken type data som den godtar.

Som en del av prosessen med å lage en tilpasset hjelpefilen for bruk i Excel hjelpesystemet, du tilordne emnet en kontekst nummer som passer til innholdet, som deretter spesifisert som kontekst argument for InputBox funksjonen.

Når du angir en hjelp fil og kontekst argument for denne funksjonen, legger Excel en Hjelp-knapp til skikken Input dialogboksen som brukere kan klikke for å få tilgang til tilpassede hjelpefilen i hjelpevinduet.

Før du kan legge til linjen med kode til makroen med InputBox funksjonen, må du finne det stedet i Visual Basic kommandoer hvor grensen bør gå. Å gå inn i Mind Over Media tekst i den aktive cellen, selskapet _ Navn makro bruker følgende Visual Basic kommando:

ActiveCell.FormulaR1C1 = "Mind Over Media"

For å legge til interaktivitet til makroen, må du sette inn InputBox funksjonen på en linje i koden vinduet rett ovenfor denne ActiveCell.FormulaR1C1 uttalelse, som følger:

  1. Plasser innsettingspunktet i vinduet kode i begynnelsen av ActiveCell.FormulaR1C1 erklæringen og trykk Enter for å sette inn en ny linje.

    Nå som du har lagt til en ny linje, må du flytte innsettingspunktet opp til det.

  2. Trykke på tasten opp-pilen for å plassere innsettingspunktet ved begynnelsen av den nye linjen.

    På denne linjen, du ønsker å opprette en variabel som leverer rask argument til InputBox funksjonen. For å gjøre dette, oppgir du navnet på variabelen (InputMsg i dette tilfellet), etterfulgt av sin nåværende oppføring. Husk å legge ved meldingsteksten på høyre side av likhetstegnet i en lukket par doble anførselstegn.

  3. Skriv inn følgende kode for å opprette InputMsg variabel på linje 8 og trykk på Enter-tasten for å starte en ny linje 9:

    InputMsg = "Skriv inn firmanavn eller tittel for dette regnearket i tekstfeltet nedenfor og klikk deretter på OK:"

    Neste, du oppretter en variabel som heter InputTitle som leverer valgfri tittel argument for InputBox funksjonen. Denne variabelen gjør teksten "regneark Title" vises som tittel i dialogboksen Input-boksen. Igjen, sørg for å legge ved navn for dialogboksen tittellinjen i anførselstegn.

  4. Skriv inn følgende kode for å opprette InputTitle variabel på linje 9 og trykk på Enter for å sette inn en ny linje 10:

    InputTitle = "regneark Title"

    Neste, du oppretter en variabel navn DefaultText som leverte den valgfrie standard argument til InputBox funksjonen. Denne variabelen gjør teksten, "Mind Over Media," vises som standard oppførings på tekstboksen nederst på den egendefinerte Firmanavn Input dialogboksen.

  5. Skriv inn følgende kode for å opprette DefaultText variabel på linje 10 og trykk på Enter for å sette inn en ny linje 11:

    DefaultText = "Mind Over Media"

    Neste, du oppretter en endelig variabel som heter Ola Normann som spesifiserer InputBox funksjon som sin inntreden (ved hjelp av InputMsg, InputTitle, og DefaultText variabler som du nettopp opprettet) og lagrer resultatene av denne funksjonen.

  6. Skriv inn følgende kode for å opprette SpreadsheetTitle variabel som bruker InputBox funksjon på linje 11:

    SpreadsheetTitle = InputBox (InputMsg, InputTitle, DefaultText)

    Til slutt, erstatte deg verdien, "Mind Over Media", i ActiveCell.FormulaR1C1 eiendom med SpreadsheetTitle variabel (der verdien bestemmes av hva som er inn i regnearket Tittel dialog Input boks), og dermed effektivt erstatte dette konstant i makroen med midler for å gjøre denne inngangen virkelig interaktiv.

  7. Velg "Mind Over Media" på linje 12 og erstatte den med SpreadsheetTitle (uten anførselstegn).
  8. Lagre det redigerte makro ved å klikke på Lagre-knappen på verktøylinjen for Visual Basic og deretter tilbake til regnearket ved å klikke på Vis Microsoft Excel-knappen eller trykke Alt + F11. Deretter klikker du på Skjul-knappen i Vindu-gruppen i kategorien VIEW.

    Nå er du klar til å åpne en ny arbeidsbok og kjøre den redigerte makro ved å trykke Ctrl + N.

Figuren viser Kode vindu med det redigerte selskapet _ Navn makro etter tilsetting av uttalelser som gjør det interaktivt.

Hvordan legge til dialogbokser til makroer i Excel med Visual Basic Editor


Figuren viser regneark Tittel dialogboksen i aksjon i regnearket. Denne inngangen dialogboksen nå vises automatisk og du blir bedt om innspill når du kjører redigert og nå fullstendig interaktiv versjon av COMPANY_NAME makro.

Hvordan legge til dialogbokser til makroer i Excel med Visual Basic Editor

Å gå videre og skriv Mind Over Media i gjeldende celle og deretter formatere den ved å bruke resten av makrokommandoer, du bare klikke OK i denne skikken dialogboksen. Å gå inn og formatere navnet på et annet selskap, skriver du bare inn navnet på selskapet (som automatisk erstatter Mind Over Media i tekstboksen) før du klikker OK.