Daten->Gültigkeit.. nach einem Kriterium füllen??

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Daten->Gültigkeit.. nach einem Kriterium füllen??

von FranzX » So, 04.02.2007 15:47

Hallo Bernd,

ein anderer Vorschlag (Die Gültigkeit wird in der Spalte A geprüft):

Bei Daten | Gültigkeit wählst du unter Zulassen: „Liste“

In das Eingabefeld gibst du folgende Formeln ein:

="Bauer"&" - "&INDIREKT(ADRESSE(ZEILE();SPALTE()+1))+INDIREKT(ADRESSE(ZEILE();SPALTE()+2))
="Meier"&" - "&INDIREKT(ADRESSE(ZEILE();SPALTE()+3))+INDIREKT(ADRESSE(ZEILE();SPALTE()+4))
="Hubertus"&" - "&INDIREKT(ADRESSE(ZEILE();SPALTE()+5))+INDIREKT(ADRESSE(ZEILE();SPALTE()+6))

Die Liste in Gültigkeit enthält also ganz normale Formeln.

In diesem Beispiel wird der Name und eine Summe ausgewiesen, z.B: „Bauer – 3“, die Summe aus der Spalte B+C.

Ich habe diese Formeln in Writer geschrieben und dann in die Gültigkeitsliste kopiert. So bleibt das „Ganze“ übersichtlicher.

Ich hoffe, dass du damit dein Problem lösen kannst!

Gruß
FranzX

von berlon » So, 04.02.2007 10:29

hmm.. ist alles nicht so ohne, eure Vorschläge.

Besteht nicht die Möglichkeit, das ich den Quellbereichsnamen irgendwie zusammensetzten kann??
Sowas wie ="Test"&Text(A1).
Diesen Beispiel funktioniert nicht, habe ich schon versucht. Aber irgend so was in der Richtung.
Damit könnte ich den Bereich steuern, den ich benötige.
Nur setzt Gültigkeit in dem obrigen Beispiel Test ein.

cu
Bernd

von Karolus » Fr, 02.02.2007 10:19

Hallo

Vielleicht hab ich hier irgendwas überlesen, aber es sollte doch möglich sein, den Inhalt des Quellbereichs über eine WVERWEIS -funktion in Abhängigkeit von A1 zu verändern, - wozu ein Makro ?

Gruß Karo

von turtle47 » Fr, 02.02.2007 09:29

Hi Berlon,

mit diesem Makro kannst Du mit Zellbereichen arbeiten deren Inhalt ausgelesen
werden und dann für den Zellbereich der Gültigkeitsprüfung zur Verfügung stehen.

Code: Alles auswählen


Sub Auslesen

myDoc = thisComponent
mySheet = myDoc.sheets(0)
mycell = mysheet.getCellByPosition(0,0)

myvalue=mycell.value
if myvalue = 1 then

oDocument = ThisComponent
   oSheet1 = oDocument.Sheets.getByIndex(0) 'Quelle Tabelle1
   oSheet2 = oDocument.Sheets.getByIndex(0) 'Ziel Tabelle1
' Quellbereich festlegen
   oQuelleRange=oSheet1.getCellRangeByPosition(6,0,6,5) 'Zellen G1:G5
   oQuellRangeAddresse = oQuelleRange.getRangeAddress
   oZiel = oSheet2.getCellByPosition(1,0) 'Ziel ab B1 bis Ende Quellbereich      
   oZielCellAdresse=oZiel.getCellAddress
   oSheet2.copyRange(oZielCellAdresse,oQuellRangeAddresse)
   end if
   
if myvalue = 2 then
oDocument = ThisComponent
   oSheet1 = oDocument.Sheets.getByIndex(0)
   oSheet2 = oDocument.Sheets.getByIndex(0)
' Quellbereich festlegen
   oQuelleRange=oSheet1.getCellRangeByPosition(7,0,7,5) 'Zellen H1:H5
   oQuellRangeAddresse = oQuelleRange.getRangeAddress
   oZiel = oSheet2.getCellByPosition(1,0)
   oZielCellAdresse=oZiel.getCellAddress
   oSheet2.copyRange(oZielCellAdresse,oQuellRangeAddresse)
   end if

End Sub
Jürgen


Jürgen

von FranzX » Fr, 02.02.2007 07:22

Hallo Bernd,

falls es nicht mehr als 30 Kriterien gibt, kannst du dir mal die Funktion WAHL() anschauen.

Gruß
FranzX

von berlon » Fr, 02.02.2007 06:56

hmm..
danke schon mal für die schnelle Antwort.

Ist aber etwas unpraktikabel, da sich der Inhalt der einzelnen Bereiche ändern kann, was in diesem Fall auch eine Änderung des Macros bedeutet.

Meine nächste "Idee":
Kann ich mir bei Gültigkeit -> Zellbereich -> Quelle auch einen Zellnamen zusammenstellen??

Dann würde ich mehrere Bereiche definieren (Namen1, Namen2, Namen3) und in der Quelle würde dann "Namen+Inhalt Zelle A1" stehen??
Damit käme ich dann auch auf Namen1, Namen2 usw.

Gruß Bernd

von turtle47 » Fr, 02.02.2007 05:36

Hallo Bernd,

ich denke so etwas kann man mit einem Macro lösen.

Mit diesem wird zuerst die Zahl in A1 ausgelesen und dann die
vordefinierten Werte in einen Zellbereich eingetragen der wiederum
den Zellen A2, A3 usw. über die Gültigkeit "Zellbereich" zugeordnet wird.
Der Zellbereich für die Gültigkeit ist in diesem Falle B1:B2.

Hier der Code dafür:

Code: Alles auswählen

Sub Auslesen
myDoc = thisComponent
mySheet = myDoc.sheets(0)
mycell = mysheet.getCellByPosition(0,0)

myvalue=mycell.value
if myvalue = 1 then
Auswahlliste1
end if
if myvalue = 2 then
Auswahlliste2
end if
if myvalue = 3 then
Auswahlliste3
end if
End Sub

Sub Auswahlliste1
myDoc = thisComponent
mySheet = myDoc.sheets(0)
mycell = mysheet.getCellByPosition(1,0) 'Zelle B1
mycell.string="A"
mycell = mysheet.getCellByPosition(1,1) 'Zelle B2
mycell.string="C"
End Sub

Sub Auswahlliste2
myDoc = thisComponent
mySheet = myDoc.sheets(0)
mycell = mysheet.getCellByPosition(1,0) 'Zelle B1
mycell.string="B"
mycell = mysheet.getCellByPosition(1,1) 'Zelle B2
mycell.string="D"
End Sub

Sub Auswahlliste3
myDoc = thisComponent
mySheet = myDoc.sheets(0)
mycell = mysheet.getCellByPosition(1,0) 'Zelle B1
mycell.string="E"
End Sub
Viel Erfolg

Jürgen

Daten->Gültigkeit.. nach einem Kriterium füllen??

von berlon » Do, 01.02.2007 20:57

Hallo,

habe ich die Möglichkeit die Gültigkeitsliste nach einem Kriterium zu füllen??

Als Beispiel:

A..1
B..2
C..1
D..2
E..3

wenn Zelle A1 = 1 ist soll in der Auswahlliste A und C stehen, ist A1 = 2 ist B und D drinn und bei A1 = 3 ist nur E zur Auswahl.

Hoffe es verständlich formuliert zu haben. Die Gesamtauswahlliste ist natürlich wesentlich länger als oben angegeben.

Gruß
Bernd

Nach oben