2016-11-16 82 views
0

我已經將以下代碼寫入較大的子例程,以設置單元格相對於活動單元格的值,已經在活動單元格內完成。單元格相對於活動單元格在名爲範圍內的單個列內設置值

ActiveCell.Offset(0, 5).Value = "CLV 7" 

雖然這個作品,我可能需要在未來將列添加到我的工作,這提出了一個問題,由於需要它的值被設置單元格位置的變化,並通過協會每次添加新列時都需要重寫代碼。

在考慮這個變量時,我研究了結果,爲每個列定義了一個範圍名稱,需要在其中設置值。我想我可以確定變量&活動行和命名範圍列之間的可重新定位的相交點,並將其定義爲需要設置值的單元格。

在此之後我研究的方法來定義這個變量交集,並試圖設置以下交替代碼:

ActiveCell.Offset(0, 0).Range("BusinessStudies").Value = CLV 7 
,希望它會做的伎倆

,但遺憾的是它沒有。我看過其他帖子,看不到任何成功的情況下如何調整它,因爲我看不到任何類似的請求。我希望任何人都能提供幫助。提前致謝!

回答

0

嘗試相交()函數在VBA

Debug.Print Intersect(Rows(ActiveCell.Row), Range("MyRange")).Value 

編輯:適用於您的情況,假設你想要的字符串 「CLV 7」 進入細胞:

Intersect(Rows(ActiveCell.Row), Range("BusinessStudies")).Value = "CLV 7" 
+0

感謝@ teylyn。我認爲這需要「MyRange」的定義?我想我已經看到,這需要一些代碼才能在子例程的早些時候執行,但我對此沒有把握。你能否指點我正確的方向,以便我可以完成該部分? – ManbyRiver

+0

在進一步思考時,是否將「MyRange」替換爲已定義的範圍名稱?另外,我是否簡單地使用此代碼替換當前代碼並在末尾添加「=」CLV 7「?因此,新代碼將如下所示: 編輯:我剛剛嘗試過,它不是工作。你能否提出其他調整或替代方案? – ManbyRiver

+0

是的。您可以輕鬆將其應用於您的情況。 '相交(行(ActiveCell.Row),範圍(「BusinessStudies」))。值=「任何」'。你需要用任何你想在單元中取代「無論」。我編輯了我的帖子。 – teylyn

相關問題