如何獲取公式、在用戶窗體中操作工作表、列出用戶窗體名稱等問題的答疑

      網友投稿 551 2025-04-02

      如何獲取公式、在用戶窗體中操作工作表、列出用戶窗體名稱等問題的答疑

      Q:我想去除工作表中公式的等號,從而直觀地獲取公式?

      A:可以使用下面的VBA代碼來完成:

      Sub GetFormula()

      Dim wksData As Worksheet ‘代表公式所在的工作表

      Dim wksFormula As Worksheet ‘放置公式文本的工作表

      Dim rngFormula As Range ‘公式所在的區域

      Dim rng As Range

      Dim i As Long

      Set wksData = Worksheets(“Sheet1”)

      Set wksFormula = Worksheets(“Sheet2”)

      Set rngFormula = wksData.UsedRange.SpecialCells(xlCellTypeFormulas)

      wksFormula.Cells.Clear

      ‘在wksFormula工作表中放置公式

      For Each rng In rngFormula

      i = i + 1

      wksFormula.Range(“A” & i).Value= Mid(rng.Formula, 2, (Len(rng.Formula)))

      Next rng

      End Sub

      代碼中,wksData代表公式所在的工作表,即你想要獲取這個工作表中的公式;wksFormula代表放置所獲取的公式的工作表。由于Excel會將等號開頭的表達式當作公式,因此我們先除去公式開頭的等號,這樣就能順利地放置公式文本了。

      Q:如何通過用戶窗體來顯示相應的工作表?

      A:在VBE中,插入一個用戶窗體,在其中放置一個列表框和兩個按鈕,然后在該用戶窗體模塊中輸入下面的代碼:

      Private Sub CommandButton1_Click()

      Dim i As Integer, str As String

      For i = 0 To ListBox1.ListCount – 1

      If ListBox1.Selected(i) = True Then

      str = ListBox1.List(i)

      End If

      Next i

      Worksheets(str).Activate

      End Sub

      Private Sub CommandButton2_Click()

      Unload UserForm2

      End Sub

      Private Sub UserForm_Initialize()

      Dim wks As Worksheet

      For Each wks In ThisWorkbook.Worksheets

      ListBox1.AddItem (wks.Name)

      Next wks

      End Sub

      運行后的效果如下圖1所示:

      圖1

      其中,當用戶窗體初始化時左側的列表框顯示工作簿中所有工作表的名稱,選取其中一個工作表名稱后,單擊右側的“激活選取的工作表”按鈕,會使該工作表成為當前工作表。單擊“關閉”按鈕使用戶窗體消失。

      Q:能不能遍歷所有用戶窗體,獲取每個用戶窗體的名稱?

      A:在VBE中,插入一個標準模塊,輸入下面的代碼:

      Sub testListUserFormName()

      Dim str As String

      Dim VBC As VBIDE.VBComponent

      str = “已經創建的用戶窗體如下:”

      For Each VBC In ThisWorkbook.VBProject.VBComponents

      If VBC.Type = vbext_ct_MSForm Then

      str = str & vbCr & VBC.Name

      End If

      Next VBC

      If str = “” Then

      MsgBox “沒有找到用戶窗體!”

      Exit Sub

      End If

      MsgBox str

      End Sub

      如果VBE中有UserForm1和UserForm2兩個用戶窗體,運行上述代碼后的效果如下圖2所示:

      圖2

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:怎么能夠把數據透視表的值可以吧那行寫入文字(數據透視表怎么讓值顯示文字)
      下一篇:excel2007表格怎么調格子的大小(excel2007怎么調整表格大小)
      相關文章
      久久亚洲国产欧洲精品一| 亚洲熟伦熟女新五十路熟妇| 亚洲色自偷自拍另类小说| 亚洲男人的天堂一区二区| 国产区图片区小说区亚洲区| 亚洲爆乳成av人在线视菜奈实 | 亚洲午夜一区二区三区| 91亚洲国产在人线播放午夜| 亚洲自偷自偷精品| 亚洲综合视频在线| 亚洲美女视频免费| 亚洲国产精品xo在线观看| 亚洲午夜精品一区二区公牛电影院| 亚洲综合在线成人一区| 亚洲最大在线视频| 亚洲va乱码一区二区三区| 亚洲人成网站色在线观看| 亚洲性色精品一区二区在线| 亚洲人成欧美中文字幕| 亚洲6080yy久久无码产自国产| 国产AV无码专区亚洲AV蜜芽| 久久精品熟女亚洲av麻豆| 自拍偷自拍亚洲精品偷一| 国产综合激情在线亚洲第一页 | 亚洲黄色在线观看| 亚洲国色天香视频| 国产色在线|亚洲| 亚洲精品亚洲人成在线| 欧美日韩亚洲精品| 亚洲午夜爱爱香蕉片| 国产亚洲A∨片在线观看| 亚洲精品天天影视综合网| 亚洲欧洲日本精品| 在线亚洲午夜片AV大片| 一本色道久久88亚洲综合| 国产精品亚洲w码日韩中文| 精品亚洲永久免费精品| 亚洲黄色在线电影| 亚洲a级在线观看| 国产精品亚洲一区二区在线观看 | 亚洲国产精品自在自线观看 |