プロが教えるわが家の防犯対策術!

基本情報の午後の表計算の問題についての質問ですが、よくみかける疑似言語の 「相対」という関数ですが、これをVBAであらわすと、どのようになりますか? 

詳しくは下記のような疑似言語の場合、現在のシートから、違うシートsheet2のセルa1に"テスト"という文字を挿入という例の場合、どのような書き方がありますでしょうか?

相対(sheet2!A1, 0 , 0) ← 'テスト'

A 回答 (1件)

>相対(sheet2!A1, 0 , 0) ← 'テスト'



>これをVBAであらわすと、どのようになりますか?
シート名だけは文字列になってしまいます。シート名付きのアドレスは、昔は、Rangeで読めた気がしました。ダメだとして、これを分割するのは、野暮なので、まとめて扱いました。

Sub Test相対()
 相対("sheet2!A1", 0, 0) = "テスト"
End Sub

Function 相対(arg1, arg2, arg3) As Range
Dim rng As Range
Set rng = Evaluate(arg1)
Set 相対 = rng.Offset(arg2, arg3)
End Function
    • good
    • 0
この回答へのお礼

ありがとうございます。参考になります。

お礼日時:2017/04/08 02:05

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!