2

on のボタンのクリックイベントに次のコード行を書いていますSheet2。しかし、これは私にObject Defined or Application Definedエラーを与えます。削除するWorksheets("Sheet1")と正しく機能しますが、Sheet2's範囲が選択されます。からの範囲が欲しいSheet1

だからこれで私を助けてください。

Worksheets("Sheet1").Range(Cells(2, 1), Cells(lastrow, 5)).Sort _
Key1:=Range("E2"), Order1:=xlDescending
4

3 に答える 3

1

それは、あなたCellsが完全に定義されていないからです。

これを試して

With Worksheets("Sheet1")
    .Range(.Cells(2, 1), .Cells(lastrow, 5)).Sort _
    Key1:=.Range("E2"), Order1:=xlDescending
End With
于 2012-06-08T07:22:05.073 に答える
-2

私はVBAで同様の問題を抱えていました.私の解決策をあなたと共有したいと思います.これが私のコードです:

Range("F76").Select
With Selection
.HorizontalAlignment = xlCenter
.Font.Bold = True
.Font.Color = RGB(0, 112, 192)
.Merge
.NumberFormat = "yyyy-mm-dd;@"
With .Validation
    .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
    xlBetween, Formula1:="=Data"
End With
End With

このフラグメントは私を悩ませました。セルは適切に定義されました (コードの前半は、シートをアクティブ化するフラグメントでした)。

ソリューションには 1 行のコードしか含まれていないため、追加する必要がありました

.Clear

コードに、すべてが再び機能しました。これが誰かを助けることを願っています。

于 2014-07-29T06:19:30.337 に答える
-3

上記の解決策は確かに問題を解決します。ただし、上部に 1 行追加するだけでも問題なく動作します。

Sheets("Sheet1").activate
于 2014-07-14T08:06:52.543 に答える