excel如何制作一个vba按钮,点一下之后让sheet1里面的A1=sheet2里面的A1

2024-11-22 08:02:15
推荐回答(4个)
回答(1):

方法:

1、在SHEET1中调出”窗体“。鼠标点菜单“视图”——“工具栏”——“窗体”。

2、用鼠标右键点窗体中的“按钮”,这时鼠标变为+字型,按住鼠标左键在工作表中合适位置拖拉。出现如图画面。

3、点击“新建”,调出VBA编辑界面,如图,在SUB与ANDSUB之间输入Sheet1.[a1] = Sheet2.Range("a1").Value。

4、退出VBA编辑状态,返回工作表1。

回答(2):

有兴趣的话,我可以给你设计一个窗体,可以列出数据总行数,当前行数,具体数值等。

回答(3):

Sub aa()
Range("b1").Font.ColorIndex = 2
[b1] = [b1] + 1
Set y = [b1]
x = Application.WorksheetFunction.CountA(Sheets("sheet2").Range("a:a"))
[A1] = Sheets("sheet2").Cells(y, 1)
If x = [b1] Then
MsgBox "无数据"
[b1] = ""
End If
End Sub

以上只是按照您上面所提要求编的例子,如果有其它条件限制,请自动修改,但原理应该是差不多的.

补充:加上前面那句去....注意看清代码的逻辑...然后你就能明白,B1单元格是做什么用的....

回答(4):

试试这段代码吧,这个是根据Sheet2活动单元格来给Sheet1 A1赋值,不需要额外单元格记录点击次数。

Private Sub CommandButton1_Click()
Dim m

Application.ScreenUpdating = False

Sheet2.Activate
m = ActiveCell.Row

If (ActiveCell <> "") And m <= Sheet2.UsedRange.Rows.Count Then
Sheet1.[A1] = Sheet2.Cells(m, 1)
m = m + 1
Sheet2.Cells(m, 1).Select
ElseIf (ActiveCell <> "") Then
MsgBox "无数据"
Else: MsgBox "Sheet2表中活动单元格在数据区域外,请重新选择"
End If

Sheet1.Select

Application.ScreenUpdating = True

End Sub