Hallo zusammen!
Ich habe eine sehr große Tabelle mit rund 100 Spalten. Die erste Spalte ist eine Namensspalte.
Ich muß regelmäßig nach einem Namen suchen (Strg + F) und dann in eine der 100 Spalten ein X setzen.
Das ist so eine Art Anwesenheitsliste. Also wenn ein Mitarbeiter um 11 Uhr kommt, muß ich den Kollegen heraussuchen und zum Beispiel in der 5. Spalte eine '1' reinschreiben (oder ein 'X' oder auf was auch immer man sich einigt, aber die '1' hat den vorteil, dass man so leicht die Gesamtanzahl ermitteln kann).
Wenn um 11.05 ein Kollege zu mir kommt und eine fertige Projektarbeit abgibt muß ich in der Spalte H eine 1 reinschreiben usw.
Das muss alles ganz schnell gehen, weil es viele solcher Zyklen sind. Mit Strg + F kann ich die Jungs schnell finden, aber ich brauchen Tastenkombinationen, z. B. Strg+1, Strg+2, Strg+3, Strg+4, Strg+5 mit denen ich jeweils eine 1 in eine vordefinierte Spalte reinschreibe.
Das muß mit diesen Tastenkombinationen gehen, weil ich die Tabelle nicht umsortieren kann und meine 5 wichtigen Spalten vorne hinsetze. Wenn ich mit der Maus oder den Tasten zur Spalte 80 oder 100 blättern muß dauert das alles ewig.
Also noch einmal der Ablauf: Strg+F, Namen eintippen, Enter, Strg+1 und der Kerl ist als "anwesend" in Spalte 5 gekennzeichnet. Dauert nicht mehr als 10 Sekunden ...
Eigentlich simpel, oder?
Kann mir hier jemand helfen?
Danke schon einmal,
Grüße
Reginald
[Gelöst] Ein 'X' in eine bestimmte Spalte per Tastendruck
Moderator: Moderatoren
[Gelöst] Ein 'X' in eine bestimmte Spalte per Tastendruck
Zuletzt geändert von Reginald am Sa, 30.07.2011 01:05, insgesamt 1-mal geändert.
Re: Ein 'X' in eine bestimmte Spalte per Tastendruck setzen
Hallo Reginald,
wenn es sich bei Deiner Datei um ein Calc Dokument handelt, schau mal ob dir das
viewtopic.php?f=2&t=49519#p182083
hilft.
Gruß R
wenn es sich bei Deiner Datei um ein Calc Dokument handelt, schau mal ob dir das
viewtopic.php?f=2&t=49519#p182083
hilft.
Gruß R
- miniKasse MMove 1.0.6 Base Videotutorial
- Windows 11: AOO, LO Linux Mint: AOO, LO
Re: Ein 'X' in eine bestimmte Spalte per Tastendruck setzen
Hallo
Würde dir eine Inputbox reichen, mit einer Eingabe von: Mitarbeitername Komma Spaltenbuchstabe
! Noch ohne Fehlerbehandlung gegen "falsche" Eingaben !
Gruß Karo
Würde dir eine Inputbox reichen, mit einer Eingabe von: Mitarbeitername Komma Spaltenbuchstabe
Code: Alles auswählen
Sub autoeintrag
ziel = inputbox ("gib Name und Spalte kommagetrennt ein")
arr_ziel = split( ziel,",")
sname = arr_ziel(0)
spalte = arr_ziel(1)
doc = thiscomponent
sheet = doc.sheets(0) '1.Blatt
srange = sheet.getCellRangeByName("A1:A100")
osearch = srange.createSearchDescriptor()
with osearch
.SearchRegularExpression = False
.SearchString = sname
.SearchType = 0
end with
ofound = srange.findfirst(osearch)
zeile = ofound.getcelladdress.Row +1
sheet.getcellrangebyname(spalte & zeile).value = 1
End Sub
Gruß Karo
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
Re: Ein 'X' in eine bestimmte Spalte per Tastendruck setzen
Hey zusammen,
das war sehr flott mit den Antworten! Danke schon einmal.
Also mit dem Code hier komme ich schon halb weiter:
Jetzt soll er es aber nicht in der CurrentSelection machen, sondern immer in Spalte E von der Zeile, wo der Cursor sich gerade befindet.
???
Grüße
Reginald
das war sehr flott mit den Antworten! Danke schon einmal.
Also mit dem Code hier komme ich schon halb weiter:
Code: Alles auswählen
Sub WertSetzen
oCell=ThisComponent.CurrentSelection
oCell.Value=1
End Sub
???
Grüße
Reginald
Re: Ein 'X' in eine bestimmte Spalte per Tastendruck setzen
Also, ich habe es mit euren Hinweisen und mit http://www.dannenhoefer.de/faqstarbasic/index.html gelöst:
Also, auch wenn das für einen Programmierer super simpel ist, für mich ein echtes Erfolgserlebnis - und vor allem sehr hilfreich mit dem, was ich vorhabe.
Grüße,
Reginald
Code: Alles auswählen
Sub WertSetzenInSpalteB
myDoc = thisComponent
mySheet = myDoc.sheets(0)
oCelle=myDoc.getCurrentSelection().getCellAddress()
oRow=oCelle.Row
mycell = mysheet.getCellByPosition(1,oRow)
'Als Text: mycell.string = "X"
mycell.Value = 1 'als Zahl
End Sub

Grüße,
Reginald