使用VBA進(jìn)行Excel表格的數(shù)據(jù)錄入
在Excel表格中,我們經(jīng)常需要在一個工作表里面錄入信息,并且希望在另一個工作表中記錄所錄入的信息。這時候,我們可以使用VBA程序來完成這個任務(wù)。 打開VBA編輯器并插入模塊 首先,在Excel的
在Excel表格中,我們經(jīng)常需要在一個工作表里面錄入信息,并且希望在另一個工作表中記錄所錄入的信息。這時候,我們可以使用VBA程序來完成這個任務(wù)。
打開VBA編輯器并插入模塊
首先,在Excel的菜單欄上點(diǎn)擊【開發(fā)工具】,再點(diǎn)擊【Visual Basic】,以打開VBA編輯器。然后,在VBA編輯器的菜單欄上點(diǎn)擊【插入】,再點(diǎn)擊【模塊】,以插入一個新的模塊。
在新的模塊中,輸入以下代碼:
Sub MatchInput() Dim i, j, m, k As Long Dim msg, style, title, ans On Error Resume Next Set mysheet1 ("Sheet1") Set mysheet2 ("Sheet2") msg "該用戶信息已經(jīng)存在,是否替換?" style vbYesNoCancel title "溫馨提示" m (mysheet1.Cells(2, 2), mysheet2.Range("A1:A1000"), 0) ' 計(jì)算單元格所在的位置 If m > 1 Then ' 如果數(shù)據(jù)表里面已經(jīng)存在,則彈出提示窗口,然后進(jìn)行選擇 ans MsgBox(msg, style, title) If ans vbYes Then ' 如果選擇“是”,則原來表格里面的數(shù)據(jù)將會被替換 For j 1 To 4 ' 填充該單元格所在位置的1-4列 mysheet2.Cells(m, j) mysheet1.Cells(j, 2) Next End If If ans vbNo Then ' 如果選擇“否”,則在原來表格里面找到空白的單元格寫入 For k 2 To 1000 If mysheet2.Cells(k, 1) "" Then For j 1 To 4 mysheet2.Cells(k, j) mysheet1.Cells(j, 2) Next Exit For End If Next End If Else ' 如果不存在,則在原來數(shù)據(jù)表格里面找到一行空白進(jìn)行填充 For k 2 To 1000 If mysheet2.Cells(k, 1) "" Then For j 1 To 4 mysheet2.Cells(k, j) mysheet1.Cells(j, 2) Next Exit For End If Next End If End Sub
在表格中插入矩形并指定宏
回到Sheet1工作表界面,在菜單欄上點(diǎn)擊【插入】,選擇“矩形”插入到表格中,并填充所需的顏色和文字。
然后,右擊已經(jīng)繪制的矩形圖形,在彈出菜單中選擇“指定宏”。在“指定宏”對話框中,選擇之前編寫的VBA名稱(例如:MatchInput)。
錄入信息并執(zhí)行操作
現(xiàn)在,您可以在要錄入信息的區(qū)域輸入相關(guān)信息,并點(diǎn)擊“錄入”按鈕,即可將信息錄入到工作表中。
如果錄入的信息(姓名)在原來的表格中已經(jīng)存在,則會彈出提示信息,然后進(jìn)行選擇。如果選擇“是”,則會替換原來的信息;如果選擇“否”,則會新增一行信息;如果選擇“取消”,則不會錄入信息。