2016-04-11 13 views
0

ユーザーがある列のチェックボックスをクリックすると、その列のデータが別の隠しスプレッドシートに読み込まれるため、vbaスクリプトを作成しました。ユーザーがボックスのチェックを外すと、データは隠しスプレッドシートの相対列から削除されます。私のスクリプトはMS Excel 2010、2013で動作しますが、Mac Excelでは動作しません。このファイルを使用するユーザーの大部分はMac Excel上にあります。 Mac Excel 2011と互換性を持たせるにはどうすればよいですか? (スクリプトは以下の通りです。)Mac Excel互換のVBAチェックボックススクリプトの変更

Private Sub columnD_Select() 
'If Column D is selected... 
If ActiveSheet.Shapes("Check Box 80").ControlFormat.Value = 1 Then 
    Sheets("Data To Display").Range("M2:M10000").ClearContents 
    Sheets("SF Data 9 Box").Range("D6:D10000").Copy 
Destination:=Sheets("Data To Display").Range("M2") 
Else 
    Sheets("Data To Display").Range("M2:M10000").ClearContents 
End If 
End Sub 

-Kamili

MAT'S MUG TO(応答 - 彼らは、フォームコントロールではなく、アクティブXコントロールです、私は私のWindowsマシン上でそれらをクリックすると、データがそれぞれに移入されます。私のMacBook Proでは、チェックボックスのフォームコントロールには入力されません。他のすべてのvbaコードは正常に実行されますが、それは何をするのかを認識していないチェックボックスだけです。 -click)

+0

「機能していません」はかなり曖昧です。あなたはどんな厳しい問題に直面していますか?あなたのチェックボックスがActiveXコントロールである場合、私はそれがMacで全くサポートされているのではないかと疑います。 –

答えて

0

Mac Excel 2011とMS Wordの両方で動作させる方法を考え出しました。隠しシートのセルにチェックボックスをリンクし、チェックボックスIDを参照する代わりにマクロを各チェックボックスに直接割り当て、小さなクリーンアップを行いました。

Private Sub columnD_Select() 
'If Column D is selected... 
If Sheets("Checkboxes").Range("D4").Value = True Then 
    Sheets("SF Data 9 Box").Range("D6:D10000").Copy Destination:=Sheets("Data To Display").Range("M2:M9996") 
    Sheets("Data To Display".Range("K2:K10000").Calculate 
Else 
    Sheets("Data To Display").Range("M2:M10000").ClearContents 
End If 
End Sub 

ありがとうございました。 -Kamili

関連する問題