Ich habe folgendes Problem: Ich soll aus einem Excel Sheet den Wert einer einzelnen Zelle auslesen. Dabei haben die Zeilen sowie Spalten keine Namensfelder & können auch nicht benannt werden (da sie aus SAP kommen).
Weiteres Problem, die Spaltenanzahl kann je nach Datei unterschiedlich sein, dh. ich kann auch nicht mit +7 o.ä. gehen. Gibt es eine Möglichkeit den Wert mit "gehe ans Ende & dann 2 Spalten zurück (-2)"
Bis jetzt habe ich folgendes:
Dim Vermerk As Range
Set Vermerk = Pruefen(exlObj, Test3,Gesamtergebnis)
SheetSAPTabelle.Range("Wert").Value = exlObj.Sheets(Test3.Value).Cells(Vermerk.Row, Vermerk. _
Column + 7)
....
Dieser Code funktioniert auch, nur leider sind beliebig viele Spalten dazwischen und man kann nicht genau sagen wieviele Spalten man gehen muss...
Pruefen: ist dabei eine Funktion, die ein Wort sucht (in diesem Fall: Gesamtergebnis)
SAPTabelle: WorkSheet, auf dem Wert zum Schluss der ausgelesene Wert stehen soll
Test3:Sheet in SAP Tabelle in der der zu auslesende Wert steht
"Wert": So heißt das Namensfeld, in das der Wert aus SAPTabelle geschrieben werden soll
Eine weitere Idee wäre gewesen:
Set Vermerk = Pruefen(exlObj, Test3,Gesamtergebnis)
SheetSAPTabelle.Range("Wert").Value = exlObj.Sheets(Test3.Value).Cells(Vermerk.Row, exlObj. _
Sheets(Test3.Value).Cells(Vermerk.Row, exlObj.Sheets(Test3.Value).Columns.Count).End(xlToLeft). _
_
Column)
If SheetSAPTabelle.Range("Wert").Value = Gesamtergebnis.Value Then 'ist Gesamtergebnis _
die erste Zeile in dieser Spalte existiert noch kein eintrag
SheetSAPTabelle.Range("Wert").Value = ""
End If
....
Dieser Code funktioniert nicht, ich bekomme die Fehlermeldung: Index außerhalb des Bereichs
Vielleicht hat ja jmd eine Idee oder weiß wie es funktioniert?
LG