天天看點

VBA表單控件(二)

VBA表單控件(二)

大家好,上節介紹過按鈕、數值調節鈕和滾動條控件,本節主要示範在工作表中結合函數公式來擴充數值調節鈕功能的示例。(滾動條和數值調節鈕的使用方法雷同,隻使用數值調節鈕來示範。)

應 用 示 例

1、結合indirect函數

上節介紹過數值調節鈕可以讓數值依次的變化,可以聯想到單元格位址中的“行”是數字,是以如果數字随着數值調節鈕變動,單元格的位址也可以變動,那麼可以引用的單元格的值就可以随着變動。

下面示例,實作姓名可以随着數值調節鈕依次變化。

VBA表單控件(二)

首先看姓名所在的單元格區域是A2:A7區域,即單元格位址中數值的變動區域是從2到7,步長變化為1。以此來設定數組調節鈕的控件格式,設定最小值和最大值以及步長,單元格引用區域暫時放在F2單元格。

VBA表單控件(二)
VBA表單控件(二)

那麼在單元格中"A?imageView2/2/w/1620"&F2就可以表示單元格位址,随着數值調節鈕的變動從A2至A7,然後借助indirect函數公式 =indirect("A"&F2)來引用對應單元格的值。即得到需要的文本。

點選數值調節鈕,F2和E2單元格的值同時變化,後面可以把F2的數值用數值調節鈕控件蓋住。(對indirect函數有問題可以通過藍色連結檢視。)

2、結合vlookup函數

以同樣的思路,vookup函數的查找值可以從示例1中的單元格中來直接變化,vlookup函數的第三參數,可以直接用另一個數值調節鈕來調節。

VBA表單控件(二)

查找的區域是A2:C7區域,用vlookup函數的第三參數傳回值所在列是2或者3。那麼第二數值調節鈕的最小值為2,最大值為3,步長為1來設定。

VBA表單控件(二)

示例中在E5單元格中輸入vlookup公式,=VLOOKUP(E2,A2:C7,F5,0),公式中E2查找值在上個示例中已經設定可以變動,查找區域固定,第三參數傳回值所在列為F5可以變動。這樣通過調節兩個數值調節鈕就可以實作查找不同的值。

VBA表單控件(二)

那麼以同樣的原理,在E4單元格中顯示傳回的列的表頭,即随着數值變化文本橫向變動。就是通過改變vlookup函數的第三參數,改變傳回值。

注意公式中查找值為A1單元格,查找區域為A1:C1區域,傳回列的值使用F5單元格的值可變動,=VLOOKUP(A1,A1:C1,F5,0)。傳回值随着F5單元格數值的變化,最後顯示結果如圖所示。是以如果名字是橫向的,也可以用這個思路在設定。

最後為了顯示簡潔,可以用數值調節鈕蓋住不需要的變化數值。

VBA表單控件(二)

今天下雨

本節主要介紹了數值調節鈕和函數公式相結合來擴充功能的示例。其中的數值調節鈕也可以根據情況來用滾動條來替代,而通過數值調節鈕控件改變單元格位址或者函數公式中參數的思路可以用其他方面。祝大家學習快樂。