Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1240to1244
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Formel validieren

Formel validieren
OliverBreith
Hallo miteinander,
ich möchte die im Excelblatt enthalteten Formeln validieren.
Annahme in A1 steht 2, in B1 steht 3
in C1 steht die Formel =A1+B1
Habt ihr einen Tipp, wie ich eine Formel z.B. =A1+B1 so als Text ausgeben kann, dass der Zellwert von A1 und B1 angezeigt wird.
Meine Validierung soll wie folgt z.B. in einem anderen Tabellenvlatt ausgegeben werden
: Formel von C1: =A1+B1
: Formel von C1: =2+1
: Wert von C1: = 3
dies soll per Macro gelöst werden
vielen Dank für eure Mühe
AW: aus Archiv
05.12.2011 21:21:22
Oliver
Hallo Hary,
supi, das ist ganau das, wonach ich gesucht habe.
Vielleicht hast du noch einen Tipp für mich.
Ich schreiche diese Berechnungsformeln und nun auch dein Tipp in einen ControlTip und möchte die Zeilen mit VBCrLf umbrechen.
Das scheint aber im Controltipp nicht zu klappen, denn es wird immer ein Quadrat angezeigt
Anzeige
AW: aus Archiv
05.12.2011 21:38:15
hary
Hallo
Versuch mal: Rechtsklick auf die Zelle/Zellen formatieren/Ausrichtung/Zeilenumbruch.
gruss hary
AW: aus Archiv
05.12.2011 22:32:54
OLiver
Mensch das geht aber fix,
ich bin nun am Probieren mit einer Mittelwertfunktion
=Mittelwert(G8:G19) (G8=2; G19=3)
Die Auswertefunktion liefert aber leider
Average(2:3) man musste also hier die Funktion so anpassen, dass alle Einzelwerte, welche in der AverageFunktion sind mit ; getrennt aneinander geschrieben werden.
Also wenn du das auch noch weisst, dann Hut ab!!!!!
Das ist doch kein Problem, ...
06.12.2011 02:34:52
Luc:-?
…Oliver;
das Formelergebnis (mit FormulaLocal hättest du auch Mittelwert erhalten!) auf den Klammerinhalt reduzieren (in String-Variable laden und die dann in einer For Each-Schleife als Range verwenden. Die sich ergebenden Werte in einer anderen String-Variable ;-getrennt sammeln und zum Schluss mit Replace im FmlErgebnis den Wert der 1. durch den der 2.Variable austauschen. Mit VBA gut müsstest du das doch hinbekommen.
Gruß Luc :-?
Anzeige
AW: Das ist doch kein Problem, ...
07.12.2011 21:08:11
Oliver
Hallo Luc,
sorry, dass ich nicht so spät melde, aber den Nikolaustag gestern habe ich ausschließlich meiner Familie gewidmet, und so blieb der PC aus.
..na ja VBA gut ist wohl übertrieben, wenn man sich die meisten Dinge aus Foren zusammengesucht hat.
Kannst du mir bitte bei Beispiel machen, wie ich
=Mittelwert(A1:A3; A5:A6) in =Mittelwert (A1;A2;A3;A5;A6) umwandeln kann
Vielen Dank für deine Hilfe
Gruß aus dem regnerischen Lörrach
Wie nun - Werte oder Adressen? Gruß owT
08.12.2011 02:00:25
Luc:-?
:-?
AW: Wie nun - Werte oder Adressen? Gruß owT
08.12.2011 16:02:57
Oliver
Hallo Luc,
letzt endlich benötige ich die Werte welche ich hinter den Zellen stecken, damit ich diese Pharma konform dokumentieren kann.
die GMP Dokumentation, welche ich erhalten muss sieht z.B. wie folgt aus.
(Annahme A1=1; A2:2; A3=3; A5=8; A6=9)
... Formel in Zelle B1: =Mittelwert(A1:A3; A5:A6)
... in Zahlen aufgelöste Formel:=Mittelwert(1;2;3;8;9)
... Ergebnis der Formel : Mittelwert = 4,6
diese Ausgabe erfolgt auf einem kleinen Drucker
Mein Problen ist die Verwandlung des Ranges in einzelne Zellwerte
Danke für deine Unterstützung
Gruß Oliver
Anzeige
Das ist wie gesagt kein Problem, wenn Fmln ...
08.12.2011 16:45:40
Luc:-?
…immer so klassisch aussehen und nicht auch Ausdrücke als Argument verwendet wdn, Oliver,
denn dann wird es wesentl komplizierter! Der Bereich sollte allerdings auf dem gleichen Blatt liegen, sonst muss das Blatt mit angegeben wdn, wenn die Werte vom Blatt gelesen wdn sollen. Ich nehme also nicht an, dass die Vorgabe nur fiktiv ist, denn dann würden ja Symbole reichen. Sowohl Fml als auch Werte wdn aus einem, idR dem gleichen Blatt gelesen, das wohl nicht mit dem Standortblatt der Auswertung übereinstimmt. Ggf soll das nicht nur der Dokumentation, sondern auch der Untersuchung von Alternativen dienen …? Aber das ist viell eh schnurz.
Komme evtl heute am späten Abend noch dazu, den Zyklus aufzuschreiben. Eine weitgehend universelle Lösung wäre nicht so einfach und würde deutlich länger dauern.
Gruß Luc :-?
Übrigens, VBA-gut ist nur jemand, der selbständig ganze Prozeduren schreibt, die auch fktionieren, und nicht nur fremde Codes mehr oder weniger geschickt anpasst bzw zusammenstückelt ohne sie in Gänze wirklich zu verstehen… ;-)
Anzeige
AW: Das ist wie gesagt kein Problem, wenn Fmln ...
08.12.2011 20:15:50
Oliver
Hallo Luc,
das Beispiel, welches ich dir gegeben habe ist aus einem aktuellen Berechnungsblatt für die Pharmazie.
Mir geht es nur um die Auflösung eines Ranges wie im Beispiel.
Es handelt sich auch immer nur um einzelne Arbeitsblätter, welche ausgewertet werden müssen.
Die Auflösung der Formel kann z.B. auch immer in der Zelle Z1 stehen, denn im Workbook_SheetChange Ereignis wird der Inhalt der Zelle Z1 sofort auf einem RS-P42 Drucker ausgedruckt. (Pharma GMP heißt ja Give me more paper)
Gruß vom Taschenrechner-angenervten Oliver
Danke für die Hilfe
PS.. habe dein Übrigens zu Herzen genommen

Anzeige
So, habe mich doch entschlossen, das Ganze ...
10.12.2011 03:47:49
Luc:-?
…etwas universeller anzugehen, Oliver,
bin mir aber nicht im Klaren, ob das so in deine Regie passt, denn ich habe eine udFkt geschrieben, die einfache Fälle in deinem Sinne behandeln kann und auch noch etwas mehr. Allerdings geht nicht alles und du kannst am Umfang der und den Anmerkungen zur udFkt wahrscheinl ermessen, welchen Arbeitsaufwand eine Totallösung bedeuten würde. Aber wahrscheinl reicht das jetzt erstmal. Später mal, wenn du alles nachvollziehen kannst, kannst du ja versuchen, das bei Bedarf zu erweitern → einige Hinweise dazu sind ja vorhanden. Das waren jetzt erst mal ca 30-35 Stdd Arbeit.
Option Explicit
Public Enum fxExpMode: fxAllLevRefVals = -2: fxFstLevRefVals _
: fxRefOnly: fxFstLevRefValsResult: fxAllLevRefValsResult: End Enum
Rem UDFkt ermittelt Fml v.Arg1 u.bildet sie m.eingesetzten Arg-Werten ab;
'   ws in ds Vs nur Fmln aus 1 Fkt, nicht wtr Fktt u.and Bezüge betrifft!
'   Als HptBezugsblatt wird d.Blattbezug v.Arg1 bzw d.aktivBlatt vwendet;
'   lokale(dt) Darstellg wird m.Arg2>|30 uU eher als Arg d.XLM-
'   Fkt AUSWERTEN vwend als b.Arg3=0. B.dt xlVs wird b.Arg3=1 stets d.lok
'   Form gezeigt. D.matrixfmlfäh UDF ist noch weiter ausbaubar u.benötigt
'   auch deshb d.Enum-Proz fxExpMode, d.ua perspektiv KonstWerte enthält.
'   F-Anz: #NULL!  -FmlArg ist komplexer Ausdruck (ggf m.internKlammerg),
'          #BEZUG! -FmlArg enth ungült, Ganz-Sp/Zl- bzw nicht nur Adress.
'   Vs1.1 -LSr -cd: 20111208 -fpub: 20111210 herber.de -lupd: 20111209n
Function FormHabit(ByVal Bezug As Range, Optional ByVal DarstF As fxExpMode, _
Optional ByVal BerWalsMxKonst As Boolean, _
Optional ByVal BerWalsText As Boolean)
Const fktNEnd$ = "[A-Za-z_0-9]", _
fmlAdrEzVgl$ = "[A-Za-z]*[A-Za-z_0-9]([$A-Z]*#)*", _
fmlAdrLiVgl$ = "[A-Za-z]*[A-Za-z_0-9]([$A-Z]*#[:,][$A-Z]*#)*"
Dim isAdrLi As Boolean, isAdrBer As Boolean, isLokF As Boolean, _
isMxBez As Boolean, isOhneErg As Boolean, isSpAusw As Boolean, _
isSpVek As Boolean, ix As Long, xAnz As Long, zx As Long, _
fmlAdrAnf As Integer, fmlAdrEnd As Integer, fmlKp As Integer, _
arFml() As String, dt As String, fml As String, _
fmLok As String, fmlTmpV As String, st As String, _
fmlAdr, fmlAdrBer, fmlAdrV As Variant, _
ac As Range, berBez As Range, bez As Range, zBez As Range, _
bezSh As Worksheet, hptSh As Worksheet
On Error Resume Next
With Application
If IsError(.Caller) Then    'Arg1 nur als Zeile ODER Spalte mögl!
Else: Set ac = .Caller: isSpAusw = .Rows.Count > 1
End If
dt = .International(xlDecimalSeparator)
st = .International(xlColumnSeparator)
End With
isMxBez = IsArray(Bezug): Set hptSh = Bezug.Parent
If hptSh Is Nothing Then Set hptSh = ActiveSheet
If DarstF  fxAllLevRefValsResult Then
DarstF = DarstF Mod 3: isLokF = True
End If
If BerWalsText Then
If BerWalsMxKonst Then
BerWalsText = False: isOhneErg = True
Else: isLokF = isLokF Or CBool(dt = ",")
End If
End If
If isMxBez Then
xAnz = Bezug.Cells.Count: ReDim arFml(xAnz - 1)
For Each bez In Bezug
GoSub ef: arFml(ix) = FormHabit: ix = ix + 1
Next bez
If isSpAusw Then
FormHabit = WorksheetFunction.Transpose(arFml)
Else: FormHabit = arFml
End If
Else: Set bez = Bezug
ef:     If bez.HasFormula Or Left(bez, 1) = "=" Then    'Wertet auch FmlText aus!
fml = Mid(bez.Formula, 2)
If isLokF Then fmLok = Mid(bez.FormulaLocal, 2)
If DarstF  fxRefOnly Then     'Hier ggf diese DarstF untscheiden!
fmlAdrEnd = InStrRev(fml, ")"): fmlAdrAnf = 0
Do: fmlAdrAnf = InStr(fmlAdrAnf + 1, fml, "(")
Loop Until Mid(fml, fmlAdrAnf - 1, 1) Like fktNEnd
fmlAdrBer = Mid(fml, fmlAdrAnf + 1, fmlAdrEnd - fmlAdrAnf - 1)
fmlKp = 2 * Abs(CBool(InStr(fmlAdrBer, ")"))) + _
CInt(CBool(InStr(fmlAdrBer, "(")))
Select Case CBool(fmlKp)
Case Is = True  'Hier ggf nach zusgehör ()Paaren suchen!
If Not IsEmpty(fmlAdr) Then fmlAdrV = "#NULL!"
Case Is = False
If fml Like fmlAdrLiVgl Then
isAdrLi = CBool(InStr(fml, ","))
If isAdrLi Then
fmlAdrBer = Split(fmlAdrBer, ",")
For Each fmlAdr In fmlAdrBer
GoSub ea
If isLokF Then
fmLok = Replace(fmLok, fmlAdr, fmlAdrV)
Else: fml = Replace(fml, fmlAdr, fmlAdrV)
End If
Next fmlAdr
If isLokF Then fml = fmLok
Else: fmlAdr = fmlAdrBer
ea:                         If IsError(Range(fmlAdr)) Then
fmlAdrV = Array("#REF!", "#BEZUG!")(Abs(isLokF))
ElseIf BerWalsMxKonst Then
If InStr(fmlAdr, "!") = 0 Then
Set bezSh = hptSh
fmlAdrV = bezSh.Range(fmlAdr).Value2
Else: fmlAdrV = Range(fmlAdr).Value2
End If
With WorksheetFunction
fmlAdrV = .Transpose(fmlAdrV)
If IsError(UBound(fmlAdrV, 2)) Then isSpVek = True
If Not isSpVek Then
fmlAdrV = .Transpose(fmlAdrV)
If IsError(UBound(fmlAdrV, 2)) Then Else GoTo ew
End If
fmlTmpV = "": fmlTmpV = Join(fmlAdrV, Switch(isSpVek, _
";", isLokF, st, True, Chr(0)))
If fmlTmpV  "" Then
If Not isLokF Then fmlTmpV = _
Replace(Replace(fmlTmpV, dt, "."), Chr(0), ",")
fmlAdrV = "{" & fmlTmpV & "}"
Else: GoTo ew
End If
If Not isLokF And _
IsError(Evaluate("=" & fmlAdrV)) Then GoTo ew
End With
Else
ew:                             Set bezSh = hptSh: fmlAdrV = Empty
If CBool(InStr(fmlAdr, "!")) Then
fmlAdr = Split(fmlAdr, "!")
Set bezSh = Sheets(fmlAdr(0)): fmlAdr = fmlAdr(1)
End If
isAdrBer = CBool(InStr(fmlAdr, ":"))
If isAdrBer Then
For Each zBez In bezSh.Range(fmlAdr)
GoSub et
fmlAdrV = fmlAdrV & IIf(isLokF, ";", ",") & fmlTmpV
Next zBez
fmlAdrV = Mid(fmlAdrV, 2)
Else: Set zBez = bezSh.Range(fmlAdr)
et:                                 If BerWalsText Then
fmlTmpV = zBez.Text
Else: fmlTmpV = zBez.Value
If IsNumeric(fmlTmpV) Then
If Not isLokF And CBool(InStr(fmlTmpV, dt)) Then _
fmlTmpV = Replace(fmlTmpV, dt, ".")
End If
End If
If CBool(InStr(Trim(fmlTmpV), " ")) Or _
Not IsNumeric(fmlTmpV) Then
If Not isLokF And InStr(Trim(fmlTmpV), " ") = 0 And _
IsNumeric(Replace(fmlTmpV, ".", "")) Then
Else: fmlTmpV = """" & fmlTmpV & """"
End If
End If
If isAdrBer Then Return Else fmlAdrV = fmlTmpV
End If
End If
If isAdrLi Then Return
If isLokF Then
fmLok = Replace(fmLok, fmlAdr, fmlAdrV)
Else: fml = Replace(fml, fmlAdr, fmlAdrV)
End If
End If
ElseIf fml Like fmlAdrEzVgl Then
fmlAdr = fmlAdrBer
If IsError(Range(fmlAdr)) Then
fmlAdrV = Array("#REF!", "#BEZUG!")(Abs(isLokF))
Else
If InStr(fmlAdr, "!") = 0 Then
Set bezSh = hptSh
Set zBez = bezSh.Range(fmlAdr)
Else: Set zBez = Range(fmlAdr)
End If
If BerWalsText Then
fmlAdrV = zBez.Text
Else: fmlAdrV = zBez.Value
If IsNumeric(fmlAdrV) Then
If Not isLokF And CBool(InStr(fmlAdrV, dt)) Then _
fmlAdrV = Replace(fmlAdrV, dt, ".")
End If
End If
If CBool(InStr(Trim(fmlAdrV), " ")) Or _
Not IsNumeric(fmlAdrV) Then
If Not isLokF And InStr(Trim(fmlAdrV), " ") = 0 And _
IsNumeric(Replace(fmlAdrV, ".", "")) Then
Else: fmlAdrV = """" & fmlAdrV & """"
End If
End If
End If
End If
If isLokF Then
fmLok = Replace(fmLok, fmlAdr, fmlAdrV)
Else: fml = Replace(fml, fmlAdr, fmlAdrV)
End If
End Select
End If
End If
If isLokF Then FormHabit = fmLok Else FormHabit = fml
If Not isOhneErg Then
If BerWalsText Then
fmlTmpV = bez.Text
ElseIf Not isLokF And IsNumeric(bez) Then
fmlTmpV = Replace(bez, dt, ".")
Else: fmlTmpV = CStr(bez)
End If
If IsError(FormHabit) Or DarstF = fxRefOnly Then _
Else FormHabit = FormHabit & " = " & fmlTmpV
End If
If isMxBez Then Return
End If
ex: Err.Number = 0: Set ac = Nothing: Set berBez = Nothing: Set Bezug = Nothing
Set zBez = Nothing: Set bezSh = Nothing: Set hptSh = Nothing
End Function
Option Explicit steht hoffentl schon am Anfang deines allgemeinen Moduls; als nächstes folgt dann die Enumerationsprozedur (kannst du alles auf eine Zeile bringen, falls es Probleme mit der 2.Zeile gibt). Die von solchen Prozeduren eingestellten Werte sind quasi Globalvariablen, die auch nur in einem allgemeinen Modul eines VBA-Projekts vorhanden sein dürfen, — die „vergisst” Xl schon mal, wenn die PgmModule editiert wdn. Dann am besten die ganze Prozedur ausschneiden und wieder einfügen, dann sollten die Werte wieder da sein. Anderenfalls müsste Xl neu gestartet wdn. Im Normalbetrieb sollte das aber nicht passieren. Die Fktsproz FormHabit kannst du dann irgendwo in das/ein allgemeine/s Modul (kein Klassenmodul wie bspw die Ereignisprozz!) speichern.
Hoffe nur, dass keine wesentl Fehler mehr enthalten sind! Anderenfalls noch mal melden!
Viel Erfolg + schöDrAdWE, Luc :-?
Anzeige
AW: So, habe mich doch entschlossen, das Ganze ...
11.12.2011 10:10:53
Oliver
Wow, das ist ja ein riesiger Code
Hey Luc,
vielen Dank für deinen mega Aufwand.
Ich sitze schon das gange WE schon im Labor und validiere unsere Excelblätter per Hand.
Ich melde mich sobald ich deinen Code getestet habe.
PS. bist du Programmierer von Beruf ?
da kann ich als chem-tech. Assistent mit meinen VBA Kenntnissen nicht mithalten....
Noch einige Hinweise, ...
11.12.2011 20:08:55
Luc:-?
…Oliver,
1. Die benutzerdefinierte Fkt (UDF) FormHabit kann sowohl in Formeln des TabBlatts als auch in gewöhnl Subprozeduren eingesetzt wdn. Bei ersterem Einsatz auch in sog MatrixFmln → dabei richtet sie den Ergebnisvektor selbsttätig an der Zellauswahlrichtung aus (MTRANS wird also nicht benötigt). Bei letzterem Einsatz macht sie das idR nicht! Das wirst du aber bei deinen Einsatzvoraussetzungen nicht benötigen, denn da ist es zZ wohl nur eine einzelne Zelle. Sonst darf Arg1 der UDF deshalb maximal ein Vektor, keine Matrix, sein.
2. Die lt Arg1 untersuchte Fml darf nur aus einer Fkt bestehen. Mehrere oder keine Fktt in der Fml wdn idR nicht behandelt. Es wird dann ggf nur die Fml wiedergegeben.
3. Die FmlBereichsbezugsargumente der untersuchten Fkt lt Arg1 können auch Bereichsmatrizen sein (mehrere Zeilen und Spalten, wdn aber in dieser Version dann nur als Aufzählung ihrer Zellwerte wiedergegeben. Eine Aufführung in Form einer (auswertbaren) Matrixkonstante ist so zZ nicht möglich. Gleiches gilt für nicht-numerische Zellwerte.
4. Bei Einstellung von Arg2=0 (auch bei Fehlen) wird nur die Fml wiedergegeben. Anderenfalls wdn mit Arg3=1 mehrzellige numerisch-wertige Bereichsbezüge zu Matrixkonstanten zusammengefasst, falls Arg4=0 ist oder fehlt. Bei fehlendem Arg3 bzw Arg3=0 wdn nur die Zellwerte aufgelistet, falls Arg2≠0 ist. Arg2>2 oder <-2 bewirkt dt FmlWiedergabe.
5. Mit Arg4=1 wdn ggf nicht nur die Werte, sondern auch ihre HptFormatierung (Standard, Zahl usw, keine Farben!) wiedergegeben, wenn in Arg2 dt FmlWiedergabe eingestellt wurde. Ausnahme: Bei Arg3=1 bewirkt das das Weglassen des Fml-Ergebnisses, auch, wenn die wiedergegebenen Werte nur aufgezählt wdn können, weil hier die Wiedergabe als Matrixkonstante das Primat hat und deshalb die Wiedergabe mit Formatierung auch in diesem Falle unterdrückt wird.
Falls du die UDF nicht im TabBlatt anwenden und auch nicht sinnvoll in eine bestehende Subroutine einbinden kannst, musst du versuchen, die für dein Problem relevanten Teile in deine Prozedur einzubauen. Die UDF kannst du dann ggf bei anderer Gelegenheit verwenden. Viell schaffst du es ja auch, sie zu erweitern. Mehrere Fktt in einer Fml wäre dabei wahrscheinlich der 1.Schritt, denn die lassen sich noch am leichtesten identifizieren. Hatte dazu allerdings keine Zeit mehr, denn ich arbeite zZ an etwas Anderem. Hatte nur zufällig gerade einen Abstecher in dieses Gebiet gemacht und mich erneut mit dieser Problematik befasst, weshalb ich dir auch relativ schnell eine (Teil-)Lösung anbieten konnte. Das Problem ist natürlich sehr komplex, weil für eine universelle Lösung (darunter tue ich's nur ungern ;-) ) alle Möglichkeiten berücksichtigt wdn müssen. Insofern ist die UDF nur ein 1.Ansatz auf dem Weg zum Endziel.
Übrigens ist der Code zwar länger als das, was ich normalerweise hier in dieser Form veröffentliche, aber natürl beileibe nicht mein längster. Den, einer UDF zu ganz ähnlicher Problematik (Berechnung mathematisch notierter Ausdrücke mit Variablenersatz durch Bezugswerte mit einigen Extras), musste ich sogar in 3-4 Teile zerlegen, weil er sonst die Zeichen-/Zeilenzahl-Limitierung einer Prozedur überschritten hätte.
Gruß Luc :-?
PS: Nein, ich bin kein Pgmierer, obwohl ich das mal, ursprgl noch mit Zahlencodes, später auch Zeitgemäßeres, gelernt hatte. Meine Aufgabe war Projektentwurf, -entwicklung und -(programmier)begleitung, also natürlich auch das Verstehen von komplexen PgmEntwürfen in Pseudocode. Dabei war ich auf MetaInfoSysteme und Metadatenbanken spezialisiert (Stichwort METIS — ursprgl von der österreichischen Statistik als ISIS entwickelt, dann im Rahmen der UNECE internationalisiert; allerdings war die Bundesstatistik als fast einzige europäische Statistikbehörde daran nicht beteiligt, dafür aber auch außereuropäische wie USA und Kanada! Der entsprechende Erfahrungsschatz wurde von ihr vor 20 Jahren verworfen. Inzwischen hat man sich da aber bemüht, was Eigenes zusammenzubasteln).
Aber warum solltest du das nicht auch irgendwann können, als CTA musst du ja analytisch denken können — das ist neben Kreativität die Hptsache dabei.

Besser informiert mit …
Anzeige
AW: Noch einige Hinweise, ...
11.12.2011 21:33:58
Oliver
Hallo Luc,
du bist Spitze.
Deim Code wandelt alle möglichen Ranges perfekt um.
Ich danke dir 1000 fach für deine tolle Leistung. Dich könnten wir in unserer Arbeit sehr gebrauchen, also falls du einmal an einen Wechsel denkst, dann melde dich gerne bei mir.
Ich werde nun noch die Zeit bin am Donnerstag (da werden wir von unserem größten Kunden autitiert), mit der handschriftlichen Validrum meiner Excelsheets verbringen; die nächsten Autitoren bekommen aber ganz sicher die LUC-Lösung!!!!!
Viele Grüße Oliver
Danke !!
Bitte sehr, gern geschehen! owT
11.12.2011 21:55:57
Luc:-?
:-?

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige