想請問各位高手們
假如我今天在EXCEL做了一個目錄,目錄中有一列資料為「使用者編號」及「姓名」
以下為範例圖片:
那我想請問的問題是
如果我想在「每一個使用者的工作表」中,編號及姓名都可以自動幫我填入
例如:
綠框的部分我希望他自動幫我填入目錄中「陳一」的編號,紅框要幫我填入他的姓名
不知道題目及操作是不是可行的呢?如果目錄資料有好幾百筆的話也能成功嗎?
這是我的主管出給我的題目,叫我要想出怎麼用公式,但我在這題真的卡住了很久,不知道該怎麼進行,請求各位高手相助
1.首先抓取目前的表名(陳一)
=MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,255)
2.抓取C2後在目錄內向左帶出編號
=IFERROR(INDEX(目錄!$A:$C, MATCH($C2, 目錄!$B:$B, 0), MATCH(A$1, 目錄!$A$1:$C$1, 0)-1),"")
另外可以用VBA大量新增工作表
補個VBA,取目錄中B2~B?大量新增工作表,並複製"範本"工作表內的資料
Sub AddSheets()
Dim ws As Worksheet
Dim i As Integer
Dim nameRange As Range
Dim nameCell As Range
Dim sourceSheet As Worksheet
On Error GoTo ErrorHandler
Set nameRange = ThisWorkbook.Sheets("目錄").Range("B2:B4")
If nameRange.Cells.Count < 1 Then
MsgBox "未指定工作表名稱儲存格!", vbExclamation
Exit Sub
End If
Set sourceSheet = ThisWorkbook.Sheets("範本")
For i = 1 To nameRange.Cells.Count
Set ws = ThisWorkbook.Sheets.Add(After:= _
ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count))
Set nameCell = nameRange.Cells(i)
If Not nameCell Is Nothing Then
ws.Name = nameCell.Value
sourceSheet.Cells.Copy ws.Cells
End If
Next i
Exit Sub
ErrorHandler:
MsgBox "發生錯誤:" & Err.Description, vbCritical
Exit Sub
End Sub
謝謝您!!!剛剛測試完後已經了解了!真的很謝謝您
希望你可以稍微去理解一下大概VBA在寫什麼,就會知道怎麼做
1.須建立一個"範本"工作表填入內容及公式
2.Range記得調整
3.這樣就會抓你Range內的"姓名"大量新增工作表,並且複製"範本"的內容
有的!不好意思因為第一次嘗試的時候忘記去修改到範本才會導致失敗
真的很謝謝你!
s86951103
真的很抱歉,您好,我有按照您的公式去操作,是有成功也是我想要的沒錯!
但當我想要嘗試第二次時(有重開一個EXCEL),發現無論怎麼嘗試都會顯示#VALUE
已有嘗試自己排除錯誤但是沒有成功
想請問您知道問題出自於哪嗎?
你有先存檔嗎 這組公式需要抓實體路徑喔