BITTE helfen Sie uns HEUTE mit einer SPENDE
Helfen Sie das OpenOffice Forum zu erhalten!

DANKE >><< DANKE

> KEINE WERBUNG FÜR REGISTRIERTE BENUTZER!<
Ihre Spende wird für die Deckung der laufenden Kosten sowie den Erhalt und Ausbau 🌱 des OpenOffice Forums verwendet.
🤗 Als Dankeschön werden Sie im Forum als OO-SUPPORTER gekennzeichnet. 🤗

[Gelöst]Nächste freie Zelle in Tabelle suchen

CALC ist die Tabellenkalkulation, die Sie immer wollten.
Antworten
djchaques
Beiträge: 9
Registriert: Mi 27. Mär 2019, 11:05

[Gelöst]Nächste freie Zelle in Tabelle suchen

Beitrag von djchaques » Mo 6. Feb 2023, 07:15

Hallo Makro-Profis.

(Ähnliche Themen habe ich schon gefunden, leider passt es noch nicht ganz)

Vereinfacht dargestellt:
Ich habe eine Tabelle von A1 bis D4 (also 4x4 Zellen)
Und einen Wert in F1

Frage:
Ich möchte den Wert aus F1 in die nächste freie Zelle meiner o.g. Tabelle eintragen lassen.
In der Reihenfolge A1 - B1 - C1 -D1 - A2 - B2 - C2 - D2 - A3 - usw. - also immer zeilenweise gefüllt und danach zur nächsten Zeile springen.

Bekommt man das hin? :?:
Zuletzt geändert von djchaques am Fr 19. Jan 2024, 09:29, insgesamt 1-mal geändert.

F3K Total
Beiträge: 1006
Registriert: Mo 1. Aug 2011, 00:03

Re: Nächste freie Zelle in Tabelle suchen

Beitrag von F3K Total » Mo 6. Feb 2023, 15:58

Klar,
programmiere dir einfach ein Makro, geht auf jeden Fall.
Grüsse

djchaques
Beiträge: 9
Registriert: Mi 27. Mär 2019, 11:05

Re: Nächste freie Zelle in Tabelle suchen

Beitrag von djchaques » Mi 8. Feb 2023, 06:10

;)
okay... eigentlich war das wörtlich genommnen die Antwort auf meine Frage.
Aber ich wollte eigentlich wissen, wie das Makro aussehen muss ...

mikele
Beiträge: 771
Registriert: Sa 23. Jul 2011, 22:09

Re: Nächste freie Zelle in Tabelle suchen

Beitrag von mikele » Mi 8. Feb 2023, 10:05

Hallo,
anbei mal eine Variante. Die auskommentierten Zeilen sind eine zweite Variante, um die erste freie Zelle zu finden.

Code: Alles auswählen

Sub Main
	odoc=ThisComponent
	oTab=odoc.Sheets(0)
	oZiel=oTab.getCellRangeByName("A1:D4")
'	aleer=oZiel.queryEmptycells.rangeAddresses
'	zeile=oziel.rangeaddress.endrow
'	spalte=oziel.rangeaddress.endcolumn
'	for i=0 to ubound(aleer)
'		if aleer(i).startrow<zeile then
'			zeile=aleer(i).startrow
'			spalte=aleer(i).startcolumn
'		elseif aleer(i).startrow=zeile and aleer(i).startcolumn<spalte then
'			spalte=aleer(i).startcolumn
'		end if
'	next
	gefunden=false
	z_von=oZiel.rangeaddress.startrow
	z_bis=oZiel.rangeaddress.endrow
	s_von=oZiel.rangeaddress.startcolumn
	s_bis=oZiel.rangeaddress.endcolumn
	zeile=z_von-1
	do 
		zeile=zeile+1
		spalte=s_von-1
		do
			spalte=spalte+1
			if oTab.getCellByPosition(spalte,zeile).getType=0 then
				gefunden=true
			end if
		loop until gefunden=true or spalte=s_bis
	loop until gefunden=true	or zeile=z_bis
	msgbox "Zeile: " & zeile & "Spalte: " & spalte
	if gefunden=true then
		oTab.getCellByPosition(spalte,zeile).value=oTab.getCellRangeByName("F1").Value
	else
		msgbox "Keine freie Zelle vorhanden."
	end if
End Sub
Gruß,
mikele

mikele
Beiträge: 771
Registriert: Sa 23. Jul 2011, 22:09

Re: Nächste freie Zelle in Tabelle suchen

Beitrag von mikele » Mi 8. Feb 2023, 13:25

Hallo,
eine noch etwas kürzere Variante um die erste leere Zelle zu ermitteln:

Code: Alles auswählen

	ozeilen=oziel.rows
	oleer=oZiel.queryEmptycells
	i=0
	do until  oleer.queryintersection(ozeilen(i).rangeaddress).count>0 or i>ozeilen.count
		i=i+1	
	loop
	zeile=oleer.queryintersection(ozeilen(i).rangeaddress).rangeaddresses(0).startrow
	spalte=oleer.queryintersection(ozeilen(i).rangeaddress).rangeaddresses(0).startcolumn
Gruß,
mikele

djchaques
Beiträge: 9
Registriert: Mi 27. Mär 2019, 11:05

Re: Nächste freie Zelle in Tabelle suchen

Beitrag von djchaques » Do 9. Feb 2023, 07:09

Siehst du. Das hätte ich nie alleine hinbekommen. Das werde ich zeitnahe ausprobieren und mich abschließend melden.
Vielen Dank.

djchaques
Beiträge: 9
Registriert: Mi 27. Mär 2019, 11:05

Re: Nächste freie Zelle in Tabelle suchen

Beitrag von djchaques » Do 9. Feb 2023, 13:43

Perfekt. Hat alles wunderbar funktioniert.
Hatte noch eine Schaltfläche eingbaut und der Wert wird prima automatisch übernommen.
(Das Bestätigungsfenster habe ich mir weg gelöscht. So ist es nur ein Mausklick.)
D A N K E !

mikele
Beiträge: 771
Registriert: Sa 23. Jul 2011, 22:09

Re: Nächste freie Zelle in Tabelle suchen

Beitrag von mikele » Do 9. Feb 2023, 14:29

Hallo,
das Makro ist bewusst allgemein gehalten, sodass es für beliebige Bereiche funktioniert. Daher ist es etwas aufwändiger...
Gruß,
mikele

Antworten