如何在excel中输入inputbox中的值,并每次使用vbscript将它们存储在换行符中

时间:2017-11-17 06:52:32

标签: excel excel-vba vbscript vba

我正在尝试将InputBox中的值添加到使用VBScript创建的Excel工作表单元格中。

每当我在InputBox中输入值时,我能够在工作表单元格中存储值,但我的问题是我已经对单元格值进行了硬编码,并且使用了我已经为InputBox分配的值,将InputBox数据放在哪里工作表单元格,所以每当我运行我的vbs文件时,它正在替换存储在那些特定单元格中的旧值,但我想让它像每次运行我的VBScript时一样,它会将InputBox数据存储在一个新行中并且还将保留保存了工作表单元格中的旧条目,但我不知道该怎么做。

以下是我的代码供您参考:

sInput = InputBox("Enter your name")

MsgBox ("You entered:" & sInput)

sInput1 = InputBox("Enter your name")

MsgBox ("You entered:" & sInput)

Set objExcel = CreateObject("Excel.Application")
Set objWorkbook = objExcel.Workbooks.Open("C:\Users\saurabh.ad.sharma\Desktop\rrr.xlsx")

objExcel.Application.Visible = True

  objExcel.Cells(1,1).Value= sInput
  objExcel.Cells(1,2).Value= sInput1

objExcel.ActiveWorkbook.Save 
objExcel.ActiveWorkbook.Close

objExcel.Application.Quit
WScript.Echo "Finished."
WScript.Quit

2 个答案:

答案 0 :(得分:1)

这样的事情就是你所追求的。您可以相应地调整代码

Activity

参考您的代码:

Sub Test()

Dim rg As Range, lr As Long

Set rg = Sheet1.Range("A1")

lr = rg.CurrentRegion.Rows.Count

With rg
    .Offset(lr, 0).Value = "Me"
    .Offset(lr, 1).Value = "You"
End With
End Sub

答案 1 :(得分:0)

这是我已经实施的最终代码,并且工作正常

sInput = InputBox("Enter your name")

MsgBox ("You entered:" & sInput)

sInput1 = InputBox("Enter your name")

MsgBox ("You entered:" & sInput)

Set objExcel = CreateObject("Excel.Application")
Set objWorkbook = objExcel.Workbooks.Open("C:\Users\saurabh.ad.sharma\Desktop\rrr.xlsx")

objExcel.Application.Visible = True


Set rg = objExcel.Sheets(1).Range("A1")

lr = rg.CurrentRegion.Rows.Count

With rg
    .Offset(lr, 0).Value = sInput
    .Offset(lr, 1).Value = sInput1 

End With


objExcel.ActiveWorkbook.Save 

objExcel.ActiveWorkbook.Close

objExcel.Application.Quit
WScript.Echo "Finished."
WScript.Quit