每次我用vba填写表格时,请在excel中增加Y值

每次我用vba填写表格时,请在excel中增加Y值,vba,excel,Vba,Excel,我在Excel中有一个表单,我使用Vba收集数据并将其放入表格中。每次我填写新信息时,它所做的只是替换旧信息。这是因为VisualBasic的outout不是动态的。 我的问题是如何在每次填写表格时增加Y轴。每次按下宏按钮时,我需要一个范围/单元格中的变量,该变量随1增加 Sub aksjer() Dim stockname As String Dim price As Integer Dim number As Integer Dim totalprice As Integer Dim pe

我在Excel中有一个表单,我使用Vba收集数据并将其放入表格中。每次我填写新信息时,它所做的只是替换旧信息。这是因为VisualBasic的outout不是动态的。 我的问题是如何在每次填写表格时增加Y轴。每次按下宏按钮时,我需要一个范围/单元格中的变量,该变量随1增加

Sub aksjer()

Dim stockname As String
Dim price As Integer
Dim number As Integer
Dim totalprice As Integer
Dim pe As Integer
Dim mkt As Long
Dim volume As Integer
Dim eps As Integer
Dim divye As Integer

stockname = Range("M5").Value
price = Range("M6").Value
number = Range("M7").Value
totalprice = Range("M8").Value
mkt = Range("M9").Value
pe = Range("M10").Value
eps = Range("M11").Value
divye = Range("M12").Value
volume = Range("M13").Value

Range("A6") = Format(Date, "dd-mm-yyyy")
Range("B6") = stockname
Range("C6") = price
Range("D6") = number
Range("E6") = totalprice
Range("G6") = pe
Range("F6") = mkt
Range("J6") = volume
Range("H6") = eps
Range("I6") = divye

Range("M5:M13") = ""

End Sub

您可以检查已经使用了多少行

usedrows = ActiveSheet.UsedRange.End(xlDown).Row
然后将单元格称为
单元格
范围
和+1,以获得使用日期的行号示例:

Cells( usedrows + 1 , 1) = Format(Date, "dd-mm-yyyy")

无需将值传递到变量中,然后再传递回单元格。浪费代码。试试这个:

Sub aksjer()

Dim LastRow As Long

LastRow = Range("A" & Rows.Count).End(xlUp).Row + 1

Range("A" & LastRow).Value = Format(Date, "dd-mm-yyyy")
Range("B" & LastRow).Value = Range("M5").Value
Range("C" & LastRow).Value = Range("M6").Value
Range("D" & LastRow).Value = Range("M7").Value
Range("E" & LastRow).Value = Range("M8").Value
Range("F" & LastRow).Value = Range("M9").Value
Range("G" & LastRow).Value = Range("M10").Value
Range("H" & LastRow).Value = Range("M11").Value
Range("I" & LastRow).Value = Range("M12").Value
Range("J" & LastRow).Value = Range("M13").Value

Range("M5:M13").ClearContents

End Sub

如果你喜欢范围引用,你也可以用范围来增加它。(“A”&1+usedrows)当我在另一家公司填充时,旧信息会被替换。我需要将新信息堆叠在前面的列表下,我知道,我的方法将检查您已经输入了多少信息,并且它将在下面一行输入新信息。