2010-07-06 80 views
0

VBA - 用戶從組合框(1-50)中選擇一個數字,並將其指定爲變量。我現在想要編程一個函數,它選擇用戶選擇的任何值的列BA到左邊的列BA(來自AV:BA的I.E.,其中AV是變量列)。我有用戶作爲字符串處理的變量(dim var as string)。您的幫助將不勝感激。謝謝VBA excel - 使用變量選擇列範圍

回答

2

OFFSET屬性就是你要找的東西,儘管給你一個完整的答案,如果你發佈你迄今爲止寫的代碼會有幫助。

下面是關於如何OFFSET作品一些更多的信息:

http://www.excel-vba.com/vba-code-2-6-cells-ranges.htm

編輯:這裏是一個快速和骯髒的例子,讓你去。在這種情況下,SelectColumns子例程會使用一個參數來告訴它應該選擇BA左邊的多少列(以及BA)。如果您執行Test子例程,您會看到在活動工作表上選擇了AY:BA列。

Sub SelectColumns(numColsToLeft As Integer) 
    Range(Range("BA1").EntireColumn, Range("BA1").Offset(0, -numColsToLeft).EntireColumn).Select 
End Sub 

Sub Test() 
    Call SelectColumns(2) 
End Sub 
+1

是的,但然後我把變量放在偏移? 列( 「 - STR:BA」),選擇 str是我的可變 – James 2010-07-06 18:34:10

+0

公用Sub SampleBox_Change() 昏暗STR作爲整數 如果(SampleBox.ListIndex> -1)然後 STR = SampleBox.List(SampleBox.ListIndex) 結束如果 結束子 公用Sub Samplesdel(STR作爲整數) 範圍(範圍( 「BA1」)。EntireColumn,範圍( 「BA1」)。偏移(0,-str).EntireColumn)。選擇 完子 公用Sub CommandButton1_Click() Application.Run 「Samplesdel」 End Sub – James 2010-07-09 17:57:36