2009-07-29 19 views
0

Excelでプログラミングするのが初めてです。私はVisual Basicをほとんど作っていません。私がしたいのは、Excelで1つのシートの列をチェックし、すべての値をExcelの別のシートの列と比較することです。今問題は、セルの1つをクリックすると、他のセルにリンクされ、一致するセルに移動する可能性があります。私はこれを広げシートに実装し、「マクロ」ではないと思います。誰かがそれを助けることができればそれは非常に高く評価されるでしょうExcelでのVBAプログラミング

+0

VBA? – Treb

+0

それから明らかに私は誤解しています。マクロにのみプログラムできますか?イベントを聞くのとは対照的に? –

+0

excelには、式を含む可能性のあるセルがあります。これらは特定の順序で評価されます。 VBAはこの動作を次の3つの方法で拡張することができます。a)特定の値を返す独自の式を作成する、またはb)たとえば次のような場合に発生するイベントを処理します。セルの内容が変更されたか、選択が別のセルに切り替えられたか、またはc)独自のアドインを作成した場合。これはプログラミング知識も必要とし、最後のオプションについてはあまり教えてくれません。 – Atmocreations

答えて

4

「マクロ」と「スプレッドシートでの実装」はほぼ同じです。マクロを使用すると、列全体を読みたい場合は、

Range("A1").Value // Any cell-reference is valid here. 

を読み取ることにより、セルの内容を取得することができますスプレッドシートファイル(.XLS)に保存されている、あなたがそれを行う方法に応じて、

です何らかのループを使用する必要があります。

あなたが話しているリンクは、イベントWorksheet.SelectionChangeで行うことができます。例えば

Private Sub Worksheet_SelectionChange(ByVal Target As Range) 

End Sub 

これで、選択が変更されたときにどうなるべきかを記入できるようになりました。 Target.ColumnとTarget.Rowを使用すると、行を読み取り、適切なテストを行うことができます。

このメソッドを呼び出すワークシートの上に表示されるWorksheet.Activate-Methodを使用して、特殊なシート上のビューを切り替えることができます。あなたはマクロとしてこれを実装したくない場合は、なぜ質問をタグこれはビットを明確に...あなたは詳細が必要な場合、私はいくつかの研究を行います

希望...

よろしく

+0

もし私が正しいのであれば、マクロは "ctrl +"文字にリンクする必要がありますか?または手動で実行する必要がありますか?私は、イベントのためのJavaアクションリスナーのようなものを「聴く」ことに優れていたいと思います。したがって、指定したセルをクリックすると、同じ値が選択された次のシートに自動的に配置されます。関数のスタブされたバージョンについては、私はそれを調べます。ありがとうございました –

+0

現在のワークシートで選択を変更すると、Worksheet_SelectionChange-Eventが発生します。必要に応じて、カスタムツールバーアイコンやショートカットにマクロを置くことができます。 ただし、ユーザーがマクロセキュリティを十分に低く設定するか、マクロを要求する場合はマクロを実行するにはacceptを使用する必要があります。 – Atmocreations

+0

申し訳ありませんが、実際には、セルの行が絶えずクリックされていて、それが絶えず前後している次のシートに切り替えられていると思っているので、行わなければならない。ご協力ありがとうございました。 –