返回列表 上一主題 發帖

[發問] [發問] 請問EXCEL能否自動填入使用者名稱

[發問] [發問] 請問EXCEL能否自動填入使用者名稱

在共用檔案夾內有歷年累積下來的上千個EXCEL檔案,按照各種可能狀況寫好不同的程式和分類

使用者連入資料夾中,在工作分類中找到對應的EXCEL檔案
只需要:打開檔案、填入數值、更改填表人姓名、列印紙本
不需要存檔

請問「填表人姓名」這個儲存格,有沒有公式可以自動填入姓名?
最好是能抓取EXCEL軟體設定的使用者名稱,其次是抓電腦使用者名稱或是電腦名稱
~熊貓界第一美男子~

另外一個想法,是在 C:\之下,儲存一個TXT文字檔,檔案名稱是   NAME(王小名).TXT
用EXCEL的公式讓儲存格去抓到  王小名  三個字

*避免跟其他檔案混淆,所以檔名複雜一點,用NAME(王小名)的方式來區隔*
~熊貓界第一美男子~

TOP

GOOGLE 找到一個解法,建一個 C:\姓名.XLSX,裡面就只有A1=姓名、B1=王小名
利用VLOOKUP跨檔案搜尋,比對「姓名」回傳「王小名」

希望能有直接讀取檔名的解法
~熊貓界第一美男子~

TOP

本帖最後由 Hsieh 於 2019-1-21 09:02 編輯

回復 1# luckeyfly

自定義函數

不過這樣寫公式在儲存格內,是會依據開啟檔案者的使用者名稱變動
要讓儲存格寫入值,才不會因開啟的使用者不同而改變,如此就必須用執行程序按鈕1_Click來寫入
  1. Function MyName()
  2. MyName = Application.UserName
  3. End Function
  4. Sub 按鈕1_Click()
  5. ActiveSheet.[H2] = MyName()
  6. End Sub
複製代碼
學海無涯_不恥下問

TOP

感謝,這個「依據開啟檔案者的使用者名稱變動」就是我需要的
~熊貓界第一美男子~

TOP

回復 4# Hsieh

H大

我因為需要儲存格是變動的(根據不同使用者自動變更名稱)
所以
1、每個使用者在EXCEL的選項中,使用者名稱都輸入自己名字
2、所有EXCEL檔案都在模組加入指令
Function MyName()
MyName = Application.UserName
End Function
3、在需要的儲存格中使用 =MyName() 指令
4、檔案放在分享資料夾中,給使用者連線開啟
理論上,每個使用者開啟檔案後都會自動更新成自己的名字

發現問題是
有些檔案儲存格顯示的姓名會自動更新
有些檔案儲存格顯示的姓名會維持上一個使用者的名字,必須打開儲存格(進入編輯公式模式)在enter一次,名字才會更新

檔案在附件,麻煩請看一下是哪裡的設定有錯誤,謝謝

自動更新異常.rar (160.78 KB)
~熊貓界第一美男子~

TOP

補充 測試結果

不會自動更新的檔案,用快速鍵 CTRL+ALT+SHIFT+F9 可以刷新為正確的使用者姓名,表示函數是正確的,只是不知道為甚麼在檔案開啟時不會自動更新
~熊貓界第一美男子~

TOP

回復 7# luckeyfly

不會自動更新者可能是在EXCEL的自動重算設定取消

   
學海無涯_不恥下問

TOP

找不到不會自動更新的問題在哪?
試試修改公式看看:
=MyName()&T(NOW())

若還不行, 用workbookopen吧!!

TOP

回復  luckeyfly

不會自動更新者可能是在EXCEL的自動重算設定取消
Hsieh 發表於 2019-2-13 09:21


回覆

自動重算的設定正確打勾
~熊貓界第一美男子~

TOP

        靜思自在 : 信心、毅力、勇氣三者具備,則天下沒有做不成的事。
返回列表 上一主題