Can an input box do this

M

Munchkin

Can a macro button activate a cell, then have an an input box pop up that
asks a user to enter their name, and upon doing so & clicking OK place the
name in the activaed cell?

I'm self taught at Visual Basics & can't figure how to do this. Am I
misunderstanding input boxes - or can an input box do this, and if so, how?
 
F

FSt1

hi
vb101.
but which cell to activate?????
Sub addname()
Dim n As String
Range("B1").Activate
n = InputBox("what is your name?")
ActiveCell.Value = n
End Sub

regards
FSt1
 
D

Dave Peterson

You don't even need to activate the cell first. You can just plop the value
that the user typed right into the cell:

Option Explicit
Sub testme()

Dim myCell As Range
Dim myStr As String

Set myCell = ActiveSheet.Range("C9")

myStr = InputBox(Prompt:="Please enter your name")

If Trim(myStr) = "" Then
Exit Sub 'user hit cancel
End If

myCell.Value = myStr

End Sub

If you're new to macros:

Debra Dalgleish has some notes how to implement macros here:
http://www.contextures.com/xlvba01.html

David McRitchie has an intro to macros:
http://www.mvps.org/dmcritchie/excel/getstarted.htm

Ron de Bruin's intro to macros:
http://www.rondebruin.nl/code.htm

(General, Regular and Standard modules all describe the same thing.)
 
R

Rick Rothstein

As with all programming, what code you use depends on how you want the
program to present itself to the user. The code for your request could be as
simple as this (where you would change the B1 cell reference to the address
of the cell you wanted to put the name in)...

Sub AddName()
Range("B1").Value = InputBox("Enter your name.")
End Sub

However, this will blank out B1 if the user hits enter without typing
anything or if he/she clicks the Cancel button. Perhaps this would be more
robust...

Sub AddName()
Dim EnteredName As String
EnteredName = InputBox("Enter your name.")
If Len(EnteredName) = 0 Then
MsgBox "You didn't enter anything!"
Else
Range("B1").Value = EnteredName
End If
End Sub

Of course, you can make your code even more intelligent than this.. again,
it all depends on how you want it to present itself.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top