Tabelle ausfüllen// Namen einer Zahl zuordnen

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

Moderator: Moderatoren

keksi1970
*****
Beiträge: 464
Registriert: So, 27.01.2008 11:47
Wohnort: DU

Tabelle ausfüllen// Namen einer Zahl zuordnen

Beitrag von keksi1970 »

hi Leute, ich brauch nen Denkanstoß,

ich habe "wie immer" eine Tabelle,

100 // Andreas
100 //
100 //
102 //
102 // peter
102 //
102 //
102 //
68 // thomas
70 //
70 //
70 // Karsten
104 //
104 // Andreas
104 //


(nur als Beispiel). jeztzt möchte ich, dass überall, wo 100 steht, in der nachbarzeile auch Andreas steht (usw.) ("//" symbolisieren die Trennung der einzelnen Zellen) aber halt auch bei 104 (liste beliebig fortsetzbar, manche Namen tauchen einfach auf, manche halt mehrfach)

ich habe es per Array versucht (Dim namen(1000) as string, namen (100) = "Andreas" namen(70) = "Karsten" usw
und dann per schleife das Feld A1 ausgelesen. Funktioniert aber nicht wie gewünscht. :(

irgendwelche Ideen ?

Gruß
Andreas
Karolus
********
Beiträge: 7517
Registriert: Mo, 02.01.2006 19:48

Re: Tabelle ausfüllen// Namen einer Zahl zuordnen

Beitrag von Karolus »

Hallo Andreas

Ich hoffe das folgende erklärt sich beim Lesen:

Code: Alles auswählen

Sub namenzuordnen
odoc =thiscomponent
osheet = odoc.sheets(1) 'Tabelle 2

do while  osheet.getcellbyposition(0,izeile).string <> ""
	if osheet.getcellbyposition(1,izeile).string <> "" then '-wenn B nicht leer-
		tmpnummer = osheet.getcellbyposition(0,izeile).string ' Variablen festlegen
		tmpnamen = osheet.getcellbyposition(1,izeile).string   ' """""""""""""""
		eintragen(tmpnamen,tmpnummer) ' Sub eintragen mit Variablen aufrufen
	end if
	izeile = izeile + 1
loop
End Sub

sub eintragen(namen,nummer)
odoc =thiscomponent
osheet = odoc.sheets(1)
do while  osheet.getcellbyposition(0,izeile).string <> ""
	if osheet.getcellbyposition(1,izeile).string = "" then  ' wenn B leer-
		if osheet.getcellbyposition(0,izeile).string = nummer then '-und A = nummer-
		osheet.getcellbyposition(1,izeile).string = namen '-dann B = namen
		end if
	end if
	izeile = izeile + 1
loop
end sub
Gruß Karo
LO7.4.7.2 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO24.8.2.1 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)
keksi1970
*****
Beiträge: 464
Registriert: So, 27.01.2008 11:47
Wohnort: DU

Re: Tabelle ausfüllen// Namen einer Zahl zuordnen

Beitrag von keksi1970 »

funktioniert nach einigen anpassungen perfekt (izeile = 1, da Überschrift)

nun hab ich n problem mit der 2. Überschrift mitten in der Tabelle

und immer noch n brett vorm kopf :( (Überschrift ist immer als leerfeld gewertet)
hmmm

Code: Alles auswählen

do while  osheet.getcellbyposition(35,izeile).value <> 0 AND osheet.getcellbyposition(35,izeile+1).value <> 0
ach ich hab nicht den Druchblick

Gruß ANdreas
keksi1970
*****
Beiträge: 464
Registriert: So, 27.01.2008 11:47
Wohnort: DU

Re: Tabelle ausfüllen// Namen einer Zahl zuordnen

Beitrag von keksi1970 »

OK, es war

Code: Alles auswählen

do while  osheet.getcellbyposition(35,izeile).value <> 0 or osheet.getcellbyposition(35,izeile+1).value <> 0
nu funktionierts wie gewuénscht :)

Danke Karo :)
Antworten