2014-09-18 111 views
0

我有一個非常大範圍的使用外部數據源的複雜公式。我的用戶無權訪問此數據源,因此我希望在發送表單之前將範圍轉換爲值。將範圍(非連續)轉換爲值

範圍=

=VALs!$A$1,VALs!$D$1:$D$45,VALs!$F$1:$G$45,VALs!$I$1:$J$45,VALs!$N$1:$N$45,VALs!$R$1:$T$45,VALs!$V$1:$V$45,VALs!$X$1:$Y$45,VALs!$AB$1:$AB$45,VALs!$AE$1:$AE$45,VALs!$AT$1:$AT$45,VALs!$AW$1:$BB$45,VALs!$BD$1:$BD$45,VALs!$BG$1:$BG$45,VALs!$BK$1:$BK$45,VALs!$BQ$1:$BQ$45,VALs!$BT$1:$BT$45,VALs!$CC$1:$CD$45,VALs!$CJ$1:$CJ$45,VALs!$CN$1:$CN$45,VALs!$CP$1:$CQ$45,VALs!$CU$1:$CW$45,VALs!$DA$1:$DC$45,VALs!$DH$1:$DH$45,VALs!$DJ$1:$DJ$45,VALs!$DL$1:$DL$45,VALs!$DO$1:$DO$45,VALs!$DR$1:$DS$45,VALs!$DV$1:$DV$45,VALs!$DZ$1:$EA$45,VALs!$EV$1:$EV$45,VALs!$EY$1:$EY$45,VALs!$FB$1:$FC$45,VALs!$FE$1:$FL$45 

現在:

  • 複製&膏值並不多選擇
  • 牀單工作( 「丘壑」)範圍(「值。 「).CurrentRegion .Value = .Value不起作用,最終以空單元格代替範圍
  • 範圍是動態的,會經常發生變化,這就是爲什麼它的命名,有一個單獨的子創建

會有人能夠幫忙的範圍內?

回答

1

你的意思是這麼簡單嗎? (在這種情況下,命名的區域被命名爲「RNG」)。

Sub RangeToValues() 
    For Each cel In Range("RNG").Cells 
    cel.Value = cel.Value 
    Next cel 
End Sub 

或者是問題比較複雜,我不明白?

+1

讚賞,應該考慮做遍歷單元格。 – LucasSeveryn 2014-09-18 18:14:52