|
李洪千 さん、こんばんは。
>'Range'メソッドは失敗しました:'Global'オブジェクトというメッセージがでます。原因はなんでしょうか。
原因は、Rangeの引数の指定が間違えているからです。
ちょっとわかりにくいかもしれませんが。
引用開始===================================
《行列位置で単体のセル指定》
1 つのセルを取得するには、Cells(row, column) プロパティを使用します。引数 row には、行のインデックスを指定します。引数 column には、列のインデックスを指定します。次の使用例は、セル A1 の値に 24 を設定します。
Worksheets(1).Cells(1, 1).Value = 24
《文字列でセル(範囲)指定》
1 つのセルまたはセル範囲を表す Range オブジェクトを取得するには、Range(arg) プロパティを使用します。引数 arg には、範囲の名前を指定します。次の使用例は、セル A1 の値をセル A5 に入力します。
Worksheets("Sheet1").Range("A5").Value = Worksheets("Sheet1").Range("A1").Value
《Rangeオブジェクトでセル範囲指定》
Range オブジェクトを取得するには、Range(cell1, cell2) プロパティを使用します。引数 cell1 には最初のセルを指定します。引数 cell2 には最後のセルを指定します。次の使用例は、セル範囲 A1:J10 の罫線の線の種類を設定します。
With Worksheets(1)
.Range(.Cells(1, 1), _
.Cells(10, 10)).Borders.LineStyle = xlThick
End With
引用終了===================================
なので、
> Range(Cells(s, 1)).Select
↓
Cells(s, 1).Select
です。
しかし、上のが解決しても、
>Selection.PasteSpecial
↑ここで「形式を選択して貼り付け」を実行しているようですが、その前のアクションが切り取りなので必ずエラーになります。
> End Function
あと、値を返す必要がないようですが、なぜFunctionを使用しているのですか?
|
|