Hallo miteinander.
Ich habe zwei Fragen:
Nachdem ich in einer Zeile mehrere nebeneinanderliegende Zellen markiert habe, starte ich das nachfolgende Makro, was jedoch in der Zeile
mit einer Fehlermeldung abbricht. Ich finde keine Lösung für die Problembehebung.
Weiterhin möchte die dann für eine Duplikatsuche die in den MsgBoxen enthaltenen Informationen in eine "WENN/UND-Formel" (z. B. =WENN(UND(B2=B1;C2=C1;D2=D1))) übernehmen.
Habt ihr eine Idee?
Gruß
Uwe
Sub SelectedCells
oDoc = thisComponent
oSelectColumn=ThisComponent.CurrentSelection.Columns
CountColumn=oSelectColumn.getCount
oSelectSC=oSelectColumn.getByIndex(0).getName
If CountColumn =1 AND CountRow =1 Then
MsgBox ("" + oSelectSC + 2 + "")
Else
For x = 0 To CountColumn -1
MsgBox ("" + oSelectSC(x) + 2 + "")
oSelectSC=oSelectColumn.getByIndex(x+1).getName
Next x
End If
End Sub
Sub SelectedCells
oDoc = thisComponent
oSelectColumn=ThisComponent.CurrentSelection.Columns
CountColumn=oSelectColumn.getCount
oSelectSC=oSelectColumn.getByIndex(0).getName
If CountColumn =1 AND CountRow =1 Then
Wert = ("" + oSelectSC + 2 + "")
myCell=oSheet.getCellByPosition(0,0)
mycell.FormulaLocal = Wert
Else
y=1
For x = 0 To CountColumn -1
oSelectSC=oSelectColumn.getByIndex(x).getName
MsgBox ("" + oSelectSC(y+z) + 2 + "")
'
z=x+1
Next x
End If
End Sub
Jetzt stellt sich nur noch die Frage, wie ich die Werte in die Formel bekomme.
Gruß
Uwe
Ich habe den Zellbereich von bspw. B5 bis E5 markiert.
In den MsgBoxen erscheinen momentan nacheinander die Werte "B2" bis "E2". Daraus soll dann Formel "WENN (UND (B2=B1;C2=C1;D2=D1;E2=E1))" erstellt werden, die dann in A2 eingetragen wird (Mittels weiterem Makro wird die Formel anschließend nach unten bis zum letzten Datensatz gezogen).
Sub SelectedCells
oDoc = thisComponent
oSelectColumn=ThisComponent.CurrentSelection.Columns
CountColumn=oSelectColumn.getCount
oSelectSC=oSelectColumn.getByIndex(0).getName
oSheet=oDoc.CurrentSelection.Spreadsheet
oCell=oSheet.getCellByPosition(0,0)
If CountColumn =1 AND CountRow =1 Then
formeltext = ("=" & oSelectSC & 2)
Else
spalten=oSelectColumn.getelementnames
for i=0 to ubound(spalten())
spalten(i)=spalten(i) & "2=" & spalten(i) & "1"
next
formeltext="=wenn(und(" & join(spalten(),";") & "))"
End If
oCell.FormulaLocal=formeltext
End Sub