私は3年以上にわたって動作しているコードを持っています。突然2016年7月28日に、それは動作を停止しました。ThisWorkbook.Sheets(1).Select(False)Not Working
それは非常にシンプルで、私はそれが簡単に解決(または多分マイクロソフトの更新はそれを破った)であると思います
ThisWorkbook.Sheets(1).Select
ThisWorkbook.Sheets(2).Select (False) ' like holding ctrl
これは、常にシート#1とシート#2を選択します。今では "(False)"が機能せず、Sheet#1のみが選択されているようです。私は5つの異なるコンピュータ(すべてExcel 2013)でこれを試しました。何が起こっているか教えてください。
ありがとうございます! -マイケブ
編集: これももう動作しません。コメントでジョーダンが言ったように、それは単に実行されません。
y = 9
ThisWorkbook.Sheets(1).Select
For y = 2 To x
ThisWorkbook.Sheets(y).Select (False) ' like holding ctrl
Next y
EDIT2: 決定的な答えがあるようには思えないので、誰かが回避策で私を助けることができる場合、私は尋ねます:
ThisWorkbook.Sheets(Array(1 to x)).ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
FolderName & "\" & QuoteFilename, Quality:=xlQualityStandard, IncludeDocProperties:=True, _
IgnorePrintAreas:=False, OpenAfterPublish:=False
明らかにこれは動作しませんが、それは取得する必要があります私のポイント。
SOLUTION:ラルフへ
おかげで、私はいくつかの抜粋を取り、これを作成しました:
Private Sub Tester()
x = 5
ReDim SheetstoSelect(1 To x) As String
For y = 1 To x
SheetstoSelect(y) = ThisWorkbook.Sheets(y).Name
Next y
ThisWorkbook.Sheets(SheetstoSelect).Select
End Sub
これは1-5から実際のシート#を選択し、その実際のシートの順で選択するようにシートを定義することができます。
最初の問題の根本はまだ分かりませんが、回避策も同様です。
'False'の前後に角括弧を入れずに動作しますか?何か変わったはずですか?あなたはOfficeアップデート、OSアップデートを持っていましたが、もう2枚はありませんか? –
エラーメッセージが表示されますか?テストするために、配列( "Sheet1"、 "Sheet2")を使用しようとしましたか? –
@GaryEvansが述べたように、彼らはアップデートで何かを壊したと思います。 – Rory