excel VB 如何通过控件把sheet1的内容逐行输出到sheet2

2025-05-11 14:38:52
推荐回答(4个)
回答1:

可以给控件设置事件驱动程序,通过事件驱动来读取sheet1的内容后再写入sheet2。

举例说明。

例如有sheet1数据表,如图:

第一步:点击开发工具-插入-命令按钮。如图:

第二步:为该按钮编制宏,代码如下:

Sub 按钮2_Click()

Dim I, J, K, L As Integer

Dim MYARR(1 To 100, 1 To 100)

I = 1: J = 1

Do While Cells(I, 1) <> ""

I = I + 1

Loop

I = I - 1 '计算数据区最后一行的行号

Do While Cells(1, J) <> ""

J = J + 1

Loop

J = J - 1 '计算数据区最后一列的列号

For K = 1 To I

    For L = 1 To J

       MYARR(K, L) = Cells(K, L)

    Next L

Next K

Sheets("sheet2").Activate

For K = 1 To I

    For L = 1 To J

       Cells(K + 20, L) = MYARR(K, L)

    Next L

Next K

End Sub

按钮点击前,如图:

按钮点击后,如图:

回答2:

Private Sub CommandButton1_Click()
AR = Worksheets("sheet1").Range("B1:B7")
Worksheets("sheet2").Range("A" & Worksheets("sheet2").Range("a65536").End(xlUp).Row + 1).Resize(, 7) = Application.Transpose(AR)
Worksheets("sheet1").Range("B1:B7").ClearContents
End Sub


回答3:

你需要逐行复制,还是指定行复制?

指定行复制,鼠标点在哪个列就复制那一列

Private Sub CommandButton1_Click()
Dim i As Integer #定义变量i为个人信息数
For i = 1 To 7
Sheets("sheet2").Cells(ActiveCell.Column, i) = Sheets("sheet1").Cells(i, ActiveCell.Column)
Next i
End Sub

回答4:

在sheet1的d15输入1,按alt+f11--插入--模块,复制以下代码粘贴,按alt+f4,在sheet1中鼠标右击你做的那个保存按钮,指定宏--选择aa--确定就行了。

Sub aa()
Dim a
Sheets("sheet1").Cells(15, 4) = Sheets("sheet1").Cells(15, 4) + 1
a = Sheets("sheet1").Cells(15, 4)
Sheets("sheet2").Cells(a, 1) = Sheets("sheet1").Cells(1, 2)
Sheets("sheet2").Cells(a, 2) = Sheets("sheet1").Cells(2, 2)
Sheets("sheet2").Cells(a, 3) = Sheets("sheet1").Cells(3, 2)
Sheets("sheet2").Cells(a, 4) = Sheets("sheet1").Cells(4, 2)
Sheets("sheet2").Cells(a, 5) = Sheets("sheet1").Cells(5, 2)
Sheets("sheet2").Cells(a, 6) = Sheets("sheet1").Cells(6, 2)
Sheets("sheet2").Cells(a, 7) = Sheets("sheet1").Cells(7, 2)
Columns("B:B").Select
Selection.ClearContents
End Sub