BITTE helfen Sie uns HEUTE mit einer SPENDE
Helfen Sie das OpenOffice Forum zu erhalten!
> 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
[Gelöst]Nächste freie Zelle in Tabelle suchen
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?
(Ä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.
Re: Nächste freie Zelle in Tabelle suchen
Klar,
programmiere dir einfach ein Makro, geht auf jeden Fall.
Grüsse
programmiere dir einfach ein Makro, geht auf jeden Fall.
Grüsse
Re: Nächste freie Zelle in Tabelle suchen
okay... eigentlich war das wörtlich genommnen die Antwort auf meine Frage.
Aber ich wollte eigentlich wissen, wie das Makro aussehen muss ...
Re: Nächste freie Zelle in Tabelle suchen
Hallo,
anbei mal eine Variante. Die auskommentierten Zeilen sind eine zweite Variante, um die erste freie Zelle zu finden.
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
Re: Nächste freie Zelle in Tabelle suchen
Hallo,
eine noch etwas kürzere Variante um die erste leere Zelle zu ermitteln:
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
mikele
Re: Nächste freie Zelle in Tabelle suchen
Siehst du. Das hätte ich nie alleine hinbekommen. Das werde ich zeitnahe ausprobieren und mich abschließend melden.
Vielen Dank.
Vielen Dank.
Re: Nächste freie Zelle in Tabelle suchen
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 !
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 !
Re: Nächste freie Zelle in Tabelle suchen
Hallo,
das Makro ist bewusst allgemein gehalten, sodass es für beliebige Bereiche funktioniert. Daher ist es etwas aufwändiger...
das Makro ist bewusst allgemein gehalten, sodass es für beliebige Bereiche funktioniert. Daher ist es etwas aufwändiger...
Gruß,
mikele
mikele