Einfügen in letzte Zeile

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

Jörg
*****
Beiträge: 392
Registriert: Mo, 21.10.2013 12:05

Einfügen in letzte Zeile

Beitrag von Jörg »

Hallo Fachleute,
aus irgendeinem Grund funktioniert folgendes Makro nicht mehr.
Statt in die letzte leere Zeile einzufügen, wird die 2. Zeile überschrieben.
Würd mich freuen, wenn mir jemand sagen könnte, wo der Fehler steckt.
Vielen Dank schon mal !

Code: Alles auswählen

sub Datensatz_azh_Speichern
Dim array_1(14)
    
odoc = ThisComponent
osheet = ThisComponent.Sheets.GetByName("Tabelle18")      
      
for ta = 1 to 15
  array_1(ta-1) = oDialog8.getControl("TextField" & ta).text
  
next ta
array_1 = Array(array_1())
osheet.getCellRangeByPosition(0, iLetzteZeile-1, 14, iletzteZeile-1).setDataArray(array_1)  

oDialog8.endExecute()
Formular_oeffnen
end sub
Gruß Jörg

Win 10 Pro AOO 4.1.15
Stephan
********
Beiträge: 12369
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Einfügen in letzte Zeile

Beitrag von Stephan »

Statt in die letzte leere Zeile einzufügen, wird die 2. Zeile überschrieben.
da das vom Inhalt der Variable (oder evtl. auch Konstante) "iLetzteZeile" abhängig ist:

Code: Alles auswählen

osheet.getCellRangeByPosition(0, iLetzteZeile-1, 14, iletzteZeile-1).setDataArray(array_1)
und aber die Wertzuweisung an diese Variable nicht innerhalb des von Dir hier geposteten Codes erfolgt, kann man dazu nur allgemein antworten, das der Variablen "iLetzteZeile" ein falscher Wert zugewiesen wird, entweder in einem anderen Makro oder durch eine Const-Anweisung.


Gruß
Stephan
Jörg
*****
Beiträge: 392
Registriert: Mo, 21.10.2013 12:05

Re: Einfügen in letzte Zeile

Beitrag von Jörg »

Hallo Stephan,
danke Dir für Deine Antwort. So klappt es jetzt:

Code: Alles auswählen

sub Datensatz_azh_Speichern
Dim array_1(14)
	odoc = ThisComponent
    osheet = ThisComponent.Sheets.GetByName("Tabelle18")
      With osheet 
         x = .Columns("1").queryEmptyCells()
         iLetzteZeile = x(x.Count-1).RangeAddress.StartRow +1
          End With      
      
for ta = 1 to 15
  array_1(ta-1) = oDialog8.getControl("TextField" & ta).text
  
next ta

array_1 = Array(array_1())
 osheet.getCellRangeByPosition(0, iLetzteZeile-1, 14, iletzteZeile-1).setDataArray(array_1)  

oDialog8.endExecute()
sort_mitteilungen
Formular_oeffnen
end sub
Gruß Jörg

Win 10 Pro AOO 4.1.15
Antworten