2009-07-29 20 views
0

Ich bin neu in der Programmierung in Excel. Ich habe sehr wenig Visual Basic gemacht. Was ich tun möchte, ist eine Spalte in Excel auf einem Blatt zu überprüfen und alle Werte mit einer Spalte in einem anderen Blatt in Excel zu vergleichen. Nun ist das Problem, ist es möglich, dass, wenn ich auf eine der Zellen klicke, es mit der anderen "verbunden" ist und mich zur passenden Zelle bringt. Ich möchte das in die Tabellenkalkulation implementiert haben und kein "Makro" sein. Wenn jemand helfen kann, wäre es sehr geschätzt.VBA Programmierung in Excel

+0

Wenn Sie wollen dies nicht implementieren als Makro, warum die Frage markieren VBA? – Treb

+0

Dann habe ich anscheinend missverstanden. Kann Excel nur auf Makros programmiert werden? Im Gegensatz zu einer Veranstaltung zu hören? –

+0

Excel hat Zellen, die Formeln enthalten können. Diese werden in einer bestimmten Reihenfolge bewertet. Nun und VBA kann dieses Verhalten auf drei Arten erweitern: a) Sie erstellen Ihre eigene Formel, die einen bestimmten Wert zurückgibt, oder b) Sie behandeln Ereignisse, die auftreten, wenn z. der Inhalt einer Zelle wird geändert oder die Auswahl wurde in eine andere Zelle geändert oder c) Sie erstellen ein eigenes Add-In. Das erfordert Programmierkenntnisse und kann nicht viel über die letzte Option sagen. – Atmocreations

Antwort

4

"Makro" und "Implementierung in Tabellenkalkulation" ist fast das Gleiche. das Makro ist, je nachdem, wie Sie es tun, gespeichert in der Tabelle-Datei (.xls)

Sie den Inhalt einer Zelle erhalten durch

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

Lesen Wenn Sie eine ganze Spalte lesen möchten , Sie müssen eine Art Schleife verwenden.

Die Verknüpfung, über die Sie sprechen, könnte mit dem Ereignis Worksheet.SelectionChange durchgeführt werden. z.B. folgendes Skelett:

Private Sub Worksheet_SelectionChange(ByVal Target As Range) 

End Sub 

Sie können nun füllen, was passieren soll, wenn sich die Auswahl geändert hat. Mit Target.Column und Target.Row können Sie die Zeile lesen und die entsprechenden Tests durchführen.

Sie können die Ansicht auf einem speziellen Blatt mithilfe der Worksheet.Activate-Methode wechseln, die das Arbeitsblatt, auf das Sie die Methode aufrufen, auf dem Blatt anbringt.

Hoffnung verdeutlicht dies ein wenig ... wenn Sie Informationen benötigen, werde ich einige der Forschung ...

Grüße

+0

Wenn ich richtig bin, muss ein Makro mit einem "Strg + 'Zeichen" verknüpft werden oder muss manuell ausgeführt werden? Ich würde gerne hören, fast wie ein Java-Action-Listener für ein Ereignis zu "hören". Wenn ich also auf eine bestimmte Zelle klicke, wird automatisch das nächste Blatt mit demselben Wert ausgewählt. Was die stubbed-Version der Funktion betrifft, werde ich darauf eingehen. Vielen Dank –

+0

das Worksheet_SelectionChange-Event wird ausgelöst, wenn Sie die Auswahl für das aktuelle Arbeitsblatt ändern. Sie können optional ein Makro auf ein benutzerdefiniertes Symbolleisten-Symbol und/oder eine Verknüpfung legen. jedoch muss der Benutzer entweder seine Makrosicherheit niedrig genug eingestellt haben ODER akzeptieren, um Ihr Makro auszuführen, wenn er danach gefragt werden möchte. – Atmocreations

+0

in Ordnung, ich werde am Ende damit enden, ein Makro daraus zu machen, weil ich denke, wenn eine Reihe von Zellen ständig angeklickt wird und dann ständig zum nächsten Blatt gewechselt wird, das ist eine Menge hin und her muss gemacht werden. Danke für Ihre Hilfe. –