karolus hat geschrieben: ↑Mo 6. Dez 2021, 13:00
gegen die Apfelsine tauscht.
Es dauerte einen Moment
bis ich die Apfelsine zuordnen konnte.
Nach der Korrektur war ich auch andere Ungereimtheiten los.
In nachfolgendem Code erhalte ich in der zweiten Do While Schleife bei der Zeile
oMyTable = oMyCell.string
den
Fehler
Kein Zugriff auf Objekt.
Falsche Verwendung eines Objekts.
Code: Alles auswählen
REM ***** BASIC *****
Option Explicit
global oSheets, oMyTable, oMyCell, oMySheet
Sub SuchenFinden
Dim oRange, oSearchDesc, oFound, oFlagAddress, oMyString, oProbe, oCell, oRow, oColumn
oSheets = ThisComponent.Sheets
oMySheet = oSheets.getByName("MeinArbeitsblatt")
oRange = oMySheet.getCellRangeByName("B2:AE2")
oSearchDesc = oRange.createSearchDescriptor()
oSearchDesc.SearchString = "x"
oFound = oRange.findFirst(oSearchDesc)
Do While Not IsNull(oFound)
oFlagAddress = oFound.CellAddress
oMyCell = oMySheet.getCellByPosition(oFlagAddress.Column,oFlagAddress.Row-1)
oMyTable = oMyCell.string
Call mach_was
oFound = oRange.findNext(oFound, oSearchDesc)
Loop
oRange = oMySheet.getCellRangeByName("A3:AE3")
oSearchDesc = oRange.createSearchDescriptor()
oSearchDesc.SearchString = "x"
oFound = oRange.findFirst(oSearchDesc)
Do While Not IsNull(oFound)
oFlagAddress = oFound.CellAddress
oMyCell = oMySheet.getCellByPosition(oFlagAddress.Column,oFlagAddress.Row-2)
oProbe = oMyCell.string 'hier kann ich oMyCell.string an oProbe übergeben.
oMyTable = oMyCell.string 'HIER ERHALTE ICH DIE FEHLERMELDUNG
Call mach_was_anderes
oFound = oRange.findNext(oFound, oSearchDesc)
Loop
End Sub
Sub mach_was
'mach was damit
oMySheet = oSheets.getByName("MeinArbeitsblatt")
End Sub
In der ersten Do While Schleife suche ich in
MeinArbeitsblatt nach den x in Zeile 2 hole mir nacheinander die Namen der Arbeitblätter in Zeile 1 und bearbeite diese in der Sub
mach_was in Select Case Bereichen. Weil ich in der Sub
mach_was Informationen aus weiteren Arbeitsblättern benötige schreibe ich vor dem Ende der Subroutine noch
MeinArbeitsblatt in die Variable oMySheet. Die erste Do While Schleife funzt ohne Probleme. Wenn darin alle x der Zeile 2 abgearbeitet sind suche ich mit der zweiten Do While Schleife in
MeinArbeitsblatt nach den x in Zeile 3 suchen hole mir nacheinander die Namen des Arbeitblätter in Zeile 1 usw. usw.
So war es eigentlich gedacht, aber wegen der Fehlermeldung geht es in Schleife 2 nicht weiter.
Seltsamerweise kann ich eine Code-Zeile darüber oMyCell.string an die Variable oProbe übergeben, aber nicht mehr an die globale Variable oMyTable.