Hallo Freunde,
Problem: Auffinden einer Zahl in einer EXCEL-Spalte von WORD aus und dann EXCEL aktivieren
Um eine WORD-Datei kleiner zu machen, habe ich von dort Daten nach Excel ausgelagert. Diese Daten
stehen in der Excel-Datei "MeineDatei.xls" in mehreren Spalten ab Spalte B. In Spalte A stehen
laufende Nummern, die sich auf jeweils eine laufende Nummer im Text meiner WORD-Datei "MeineDatei.doc" beziehen.
Die Spalte A in "MeineDatei.xls" trägt den Namen "Nummern". "MeineDatei.xls" enthält nur ein einziges
Worksheet.
Nun soll, wenn ich in WORD eine Zahl markiere (selektiere), diese Zahl in Spalte A der Datei "MeineDatei.xls" angesprungen werden.
Dieser Makro ist im WORD-Editor implementiert. Er funktioniert auch ganz gut. Es handelt sich um folgenden Makro:
Sub SucheNummerInExcel()
Dim Zahl As Long
Dim xlWb As Excel.Workbook
Dim xlWks As Excel.Worksheet
Dim rng As Excel.Range
Set xlWb = GetObject(D:\Ordner\MeineDatei.Xls")
Set xlWks = xlWb.Worksheets(1)
'Die in WORD markierte Nummer wird in eine Variable eingelesen.
Zahl = CLng(Selection.Text)
Set rng = xlWks.Range("Nummern").Find(What:= Zahl, LookAt:= xlWhole)
If Not rng Is Nothing Then
rng.Select
xlWb.Activate
xlWks.Activate
End If
End Sub
Dieser Makro soll am Schluss die EXCEL-Datei aktivieren, so dass sie auf dem Bildschirm erscheint, was aber nicht funktioniert. Wisst ihr, warum nicht?Ausserdem frage ich mich, warum ich die Anweisung "rng.Select" nicht, wie ursprünglich vorgesehen,
in folgenden Form schreiben kann:
Excel.Application.Goto Reference:= rng, Scroll:= True
Wenn ich das nämlich tue, kommt eine Fehlermeldung. Liegt das daran, dass man von WORD aus
diesen Range nicht so aufrufen kann?
Bin für Hinweise sehr dankbar! Grüße Werner R.