作为较大宏的一部分,我想在工作表的末尾创建一个新列,然后使用输入框中的输入填充单元格。
用户输入称为CourseName。我想在工作表的末尾添加一个名为" Course"然后使用CourseName中的值填充具有活动数据的每个单元格。
我已经有了inputBox代码,而且:
With ActiveSheet
LastCol = .Cells(1, .Columns.Count).End(xlToLeft).Column
End With
非常感谢您的帮助!
答案 0 :(得分:0)
Sub Macro1()
Dim LastCol, LastRow As Long
'code of your inputbox, whatever it does. Mine is just to run the macro
Dim MyInputbox As String
MyInputbox = InputBox("Type something")
With ActiveSheet
LastCol = .Cells(1, .Columns.Count).End(xlToLeft).Column
LastRow = .Cells(.Rows.Count, 1).End(xlUp).Row
End With
Range(Cells(1, LastCol + 1), Cells(LastRow, LastCol + 1)).Value = MyInputbox
End Sub
根据您的需求进行调整。我专注于始终获取最后一列和行,并输入该范围,无论输入框的值是什么。
我第一次运行这个宏时输入"你好"我第二次输入"你好再次#34;。如您所见,宏总是会添加一个包含数据的新列。
希望这有帮助!
答案 1 :(得分:0)
你可以使用这段代码(评论中的解释):
With ActiveSheet.UsedRange ' reference active sheet "used" range
With .Columns(.Columns.Count + 1) ' reference the column one column right of the referenced (i.e.: "used" range) range last one
.Value = CourseName ' fill all referenced columns cell with inputbox return value (adjust "CourseName" to fit the variable name that stores InputBox return value)
.Cells(1, 1).Value = "Course" 'write referenced column header
End With
End With