2016-12-28 12 views
0

ここには小さな問題があります。私はrcell9のリファレンスを変更することで、このマクロで1つのセル参照のみを編集したいと思っています。この場合は "F2"です。また、.Activateの使用を避けたい。しかし、私はrcell5がrcell9が参照する細胞内の値であることを望む。どうやってこれを違うようにプログラムできますか?以前の参照からのセル値の取得

Sub Noname() 
Dim rcell5 As String, rcell9 As String 
Dim MonthDays As Long 
rcell9 = ("F2") 
Range(rcell9).Activate 
rcell5 = ActiveCell.Value 
End Sub 
+3

'rcell5 = Range(rcell9).Value' – Comintern

+0

ありがとうございました!これは私のコードを調整することなく動作しました。 – Kisheon

答えて

1

私はいくつかの小さな微調整をお勧め: - サブであなたの目標は何ですか上記のあなたのために働く必要がありますが

Sub NoName2() 
Dim rCell5 As String, rCell9 As Range 
' Dim monthDays As Long ' Why have this? 

Set rCell9 = Range("F2") 
rCell5 = rCell9.Value 

End Sub 

を、私は自分自身が考えて見つけましたか?変数名は本当に役に立ちませんし、IMOはちょっと混乱します。文字列がセルからその値を取得したい場合は、それは正常です。しかし命名規則では、コードが短くても読みにくくなっています。

ここではもっと大きな計画があると思われますので、それが何であるかを考えてみましょう。変数名を調整してより調整してください。

+0

ありがとうございます。はい。それはより大きいコードの一部ですが、それは私が行方不明だった最後のステップです。私はちょうどそのセル参照を2度入れる必要はないと思っていました。本当に見たい場合は、コード全体を共有することができます。それは絶対に効率的ではありませんが、これまでよりもずっと優れています。 – Kisheon

+0

@キッション - これはあなたのために機能しましたか?もしそうなら、答えとして印をつけてください。また、[.Select'/'.Activate'を使わないようにする方法(https://stackoverflow.com/questions/10714251/how-to-avoid-using-select-in-excel-vba-マクロ)があります。 – BruceWayne

+0

文字列としてrcell9が必要なため、@Comintermの最初のコメントは自分のコードを調整することなく作業しました。私はいくつか切り捨てました。私のコードから選択して.Activateしますが、他のいくつかを回避することはできませんでした。 – Kisheon

関連する問題