Tekst ingeven in messagebox en plakken in cel binnen macro

Status
Niet open voor verdere reacties.

japdonk

Gebruiker
Lid geworden
26 jul 2012
Berichten
77
Hallo,

Ik heb niet veel ervaring met messageboxen, maar wat ik wil is dat er binnen een macro een messagebox komt met de vraag "voer carrier nummer in". vervolgens kan ik een carrier nummer invoeren, op ok drukken, en kopiert hij dat naar een geselecteerde cel.

vervolgens gaat hij door activecell.offset een kolom (cel) verder en doet hij dit opnieuw alleen nu vraagt hij om de carrier naam, die hij na ok drukken weer kopiert in de active cel.

Hierna is de macro klaar.

Ik hoop dat iemand mij kan helpen!
 
Als je weinig ervaring hebt met macro's, is een goede leermethode om de macro eerst op te nemen met testwaarden, en de macro dan te bewerken zodat hij uiteindelijk doet wat je wil. In jouw geval is die opgenomen macro dan iets als:

Code:
Sub Carrier()
    
    ActiveCell.FormulaR1C1 = "21"
    Range("K15").Select
    ActiveCell.FormulaR1C1 = "Testje"

End Sub
De ingetypte tekst vervang je dan door Inputboxen. Het resultaat:

Code:
Sub Carrier()
    
    ActiveCell.Value = InputBox("Voer Carriernummer in", "Carrier nummer", 1)
    ActiveCell.Offset(0, 1) = InputBox("Voer Carriernaam in", "Carrier naam", "Carrier")

End Sub

Het kan uiteraard op tig andere (en vermoedelijk betere) manieren, maar zo krijg je een beetje idee :)
 
Op deze manier wordt je maar 1x gestoord door een inputbox.
Scheid nummer en naam door een koppelteken (of enig ander teken naar keuze,wel aanpassen in macro dan)
Code:
Sub Carrier()
   ActiveCell.Resize(, 2) = Split(InputBox("Voer Carriernummer en -naam in", "Carriernummer en -naam", "nummer-naam"), "-")
End Sub
 
Laatst bewerkt:
Probleem met de code van warme bakkertje is dan natuurlijk wel dat noch in het nummer, noch in de naam een -teken mag voorkomen. Als dat niet het geval is, dan is dat natuurlijk geen probleem, maar zelf zou ik zo'n (in beginsel behoorlijk foutgevoelige) oplossing niet doen. Al kun je nog wel een scheidingsteken verzinnen (| bijvoorbeeld) dat wat minder gevoelig is voor splitsingsproblemen. Al denk ik niet dat je de splitsing aan de gebruiker moet overlaten, maar met een waterdichte oplossing moet gaan werken. Want als de gebruiker het scheidingsteken vergeet te typen, ben je verder van huis. Bovendien: een extra teken typen is net zoveel werk als één keer extra op <Enter> drukken, dus er wordt geen winst gemaakt.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan