0
if-thenステートメントを実行するコードがあります。範囲を再選択したいかどうかをユーザーに尋ね、最後に選択した範囲を使用します。私はそれの最初の部分を持っていますが、私は範囲のアドレスを格納するとき、私はそれを戻す方法を理解することはできません。コードについては以下を参照してください。範囲のアドレスをセル値として保存し、VBAの後の範囲で使用します。
NewNS = MsgBox("Would you like to pick new Force ID's in the North-South direction?", vbYesNo, "Roof North-South")
If NewNS = vbYes Then
Worksheets("ShearWalls").Activate
Do Until CheckNS = vbYes
On Error Resume Next
Set rngNS = Application.InputBox("Select your Force ID's (North-South)", "Roof North-South", Type:=8)
On Error GoTo EndJump
CheckNS = MsgBox("The cells selected were " & rngNS.Address & " for North-South. Is this correct?", vbYesNo, "Roof North-South")
Loop
Worksheets("Reference").Range("B739").Value = rngNS.Address
Else
Setrng = Worksheets("Reference").Range("B739").Value
Set rngNS = Range(Setrng)
End If
いくつかの点で単純化することができますが、私はそれが最初に機能することを確認したいと思います。ありがとうございました!
ワークシートが重要かどうかはわかりませんが、そのコードは機能していないようです。私は何をしようとしているのかを説明し、別のコードがうまくいくかどうかを説明します。 A1セルに '$ A $ 18:$ A $ 20'と入力します。私は自分のVBAコードにA1で指定したセル範囲を取得させたいと思っていました。もし私が望むのであれば、手動で変更することができました。 ご協力いただきありがとうございます。 @Jeeped – CameronJBest
私は今あなたが@Jeepedを意味するものを理解したと思う。 私は 'エルス Setrng =ワークシート( "リファレンス")状態に、コードの' Else'セクションを変更しました。レンジ( "B739")。バリュー 設定rngNS =ワークシート( "Shearwalls")。レンジ(Setrng) End If' 必要な値を入力してください。再度、感謝します。 – CameronJBest