根据不同单元格中的值在列中某处插入单元格值

我有两个单元格,用户可以input两个值(Year和Salary):

A1 =年份
A2 =薪水

在用户input这两个值之后,我希望他们能够按下一个button – 这将运行一个macros,并将工资(A2)插入到不同工作表(表2)中的列中。

但是 – 工作表中插入工资值的行需要依赖年份值(A1)。 例如:

(表1 – 用户input)

A1 = 2007

A2 = 50000

用户按下macrosbutton

(第2页 – macros观结果)

A栏……………….. B栏

年…………………….工资

2005年

2006年

2007年……………………. 50000

2008年

2009年

2010

用户可以每年重复一次 – 基本上使用单元格A1和A2创build表2中的表格。我还需要用户能够写入任何以前input的值(例如,如果2007年的薪水实际上应该是40000 ,而不是50000)。

我知道这是一个相当复杂的方法(理想情况下,用户只需更新表2中的值),但我的老板要求这种替代方法。

首先,您需要将这两个表格命名为“工作表1”和“工作表2”。 然后按alt + F8并用下面的代码创build一个名为“save_salary”的macros:

Sub save_salary() Dim lastrow As Long Dim i As Long 'Find the last available year lastrow = Sheets("Sheet 2").Cells(1, 1).End(xlDown).Row For i = 1 To lastrow 'This loop will run until years match If Sheets("Sheet 2").Cells(i, 1) = Sheets("Sheet 1").Cells(1, 1) Then 'Save new salary Sheets("Sheet 2").Cells(i, 2) = Sheets("Sheet 1").Cells(2, 1) End If Next i End Sub 

然后下一步就是插入一个button。 在这种情况下,我只需插入一个形状(插入选项卡 – >形状),并为其分配一个macros(右键单击形状 – >指定macros – >“save_salary”)。

testing一下! 😉

  Sheet2.Columns("A").Find(Sheet1.Range("A1").Value, , xlValues).Offset(0, 1).Value = Sheet1.Range("A2").Value