Excel Formelblatt auf mehrere anwenden

Ich habe eine Excel Tabelle die genau das macht was sie soll… (Besteht aus ca 20 verschachtelten Wenn dann sonst in verschiedenen Zellen)…
jetzt mein Problem.
Ich müsste sie in einer anderen Tabelle quasi wie eine Rechnung von Zelle 1 bis Zelle xxx durchführen das quasi das Ergebnis neben meiner eingabe steht.
Lässt sich das irgendwie bewerkstelligen ohne für jede Zelle die Formeltabelle zu hinterlegen?

Also der Wert soll aus der z.B "A3 genommen werden in der Tabelle berechnet werden und dann das Ergebnis in B3 ausgegeben werden

Hallo Grußlose®,

Ich habe leider nicht ganz verstanden was du möchtest.
Kannst du mal eine Beispielmappe hochladen mit fileupload, s. FAQ:2606

Gruß
Reinhard

Hallo zusammen.

Erstmal sorry… In meinem übermut die manieren ganz vergessen :wink:

zum Thema:

Also ich möchte auf einem anderen Tabellenblatt mittels dieser Formel ein paar hundert Zahlen auschreiben lassen und in der Zelle daneben stehen haben. (für einen Serienbrief)
Ich hoffe der link funktioniert.
[url=[http://www.abload.de/image.php?img=unbenanntd1rk7.pn…](http://www.abload.de/image.php?img=unbenanntd1rk7.png][img=http://www.abload.de/thumb/unbenanntd1rk7.png][/url)]

http://www.abload.de/img/unbenanntd1rk7.png

Hi,

ich lese: Du möchtest Zahlen in Worte ausschreiben lassen - für einen Serienbrief.

  1. Ist eigentlich nicht nötig. Schau Dir in Word einmal die Feldschalter Format (*), Unterpunkt Ziffernumwandlung an. Bei Dir müßte * CardText im Seriendruckfeld ausreichen.

  2. Wenn Du die Umwasndlung der Zahl in Text auf ein Hilfsblatt auslagerst, muß das so sein (beispielhaft):

  • auf dem Blatt für die Serienbriefe Wert in A3
  • auf dem Hilfsblatt den Anfangswert der Berechnung so eingeben:

=Serienbriefblatt!A3

  • auf dem Serienbriefblatt das Berechnungsergebnis übernehmen mit:

=Hilfsblatt!D15

HTH.

Markus

Und Sterne sammel’ ich noch immer.

Zahl in Worten
Hallo Harry,

Erstmal sorry… In meinem übermut die manieren ganz vergessen
:wink:

Schön1, so ist’s doch netter *find*

Also ich möchte auf einem anderen Tabellenblatt mittels dieser
Formel ein paar hundert Zahlen auschreiben lassen und in der
Zelle daneben stehen haben. (für einen Serienbrief)

Schön2, so kapiere ich das auch :smile:

[url=[http://www.abload.de/image.php?img=unbenanntd1rk7.pn…](http://www.abload.de/image.php?img=unbenanntd1rk7.png][img=http://www.abload.de/thumb/unbenanntd1rk7.png][/url)]

Du hast dir also dort den ersten Download/Mappe runtergeladen:
http://www.excelformeln.de/tips.html?welcher=36

Markus ist in Word Sonderklasse also schau dir unbedingt da diesen
Feldschalter genauestens an.
Tipp, in der Brettbeschreibung vom Wordbrett ist ein Link,
suche da mal nach so Schaltern bzw. Zahl in Worten.

Was da nun auf dem Hillfsblatt von Makus stehen soll weiß ich grad
nicht und weiß auch nicht wie man das was du willst in Excel angehen
könnte mit Formeln ohne die groß neu zuschreiben oder laufend
anzupassen.

Ging auch Vba?
Dann könntest du nachfolgenden Code in ein Add-Inn packen oder auch
in die persönliche Arbeitsmappe.
Letzteres habe ich jetzt mal für XL 2000 getan. Das sieht dann so aus:

Tabellenblatt: [Mappe1]!Tabelle1
 │ A │ B │
──┼──────────┼──────────────────────────────────────────────────────────────────────────┤
1 │ 24569708 │ vierundzwanzigmillionenfünfhundertneunundsechzigtausendsiebenhundertacht │
──┴──────────┴──────────────────────────────────────────────────────────────────────────┘
Benutzte Formeln:
B1: =PERSONL.XLS!getZahl\_in\_Worten(A1)

A1:B1
haben das Zahlenformat: Standard

Kommastellen fehen noch, nja müßte man noch einbauen wenn nötig.
Quelle des VB-Codes:
http://www.activevb.de/tipps/vb6tipps/tipp0551.html

Gruß
Reinhard

In Standardmodul, z.B. Modul1

Option Explicit

Private curHunderter As Integer
Private curTausender As Integer
Private curMillionen As Integer

'
' erzeugt Zahlenstring und schreibt ihn in Label1
'
Private Sub Command1\_Click()
 If CDbl(Text1) "
 Label1.Refresh
 End If

 Timer1.Enabled = True
End Sub

'
' erlaubt nur die eingabe von Zahlen in Textfeld
'
Sub Text1\_Change()
 If Not IsNumeric(Text1.Text) Then
 Beep
 Text1.Text = ""
 End If
End Sub

'
' erzeugt eine Zufallszahl, die in Text1 geschrieben wird
'
'Private Sub Timer1\_Timer()
' Timer1.Enabled = False
'
' Text1.Text = Int((999999999 - 0 + 1) \* Rnd + 0)
'End Sub


'
' Hauptfunktion zum umwandeln einer Zahl in Worte
'
Public Function getZahl\_in\_Worten(curZahl As Long) As String
 Dim tmpTausender As String, tmpMillionen As String
 Dim tmpHunderter As String

 Select Case curZahl
 Case Is \> 999999999
 getZahl\_in\_Worten = ""
 Case Is \> 1000000
 curMillionen = CInt(Left(CStr(curZahl), Len(CStr(curZahl)) - 6))
 tmpTausender = Left(CStr(curZahl), Len(CStr(curZahl)) - 3)
 curTausender = CInt(Right(tmpTausender, 3))
 tmpTausender = ""
 curHunderter = CInt(Right(CStr(curZahl), 3))

 'Zehnmillionen ermitteln
 tmpMillionen = getZehner(CInt(Right(CStr(curMillionen), 2)))
 If tmpMillionen = "eins" Then 'Sonderfall "hundertEIN tausen"
 tmpMillionen = "einemillion"
 Else
 tmpMillionen = tmpMillionen + "millionen"
 End If
 'Hundertmillionen ermitteln
 If curMillionen \> 99 Then
 tmpMillionen = getEiner(CInt(Left(CStr(curMillionen), 1))) + \_
 "hundert" + tmpMillionen
 End If

 'Zehntausender ermitteln
 tmpTausender = getZehner(CInt(Right(CStr(curTausender), 2)))
 If tmpTausender = "eins" Then 'Sonderfall "hundertEIN tausen"
 tmpTausender = "eintausend"
 Else
 tmpTausender = tmpTausender + "tausend"
 End If
 'Hunderttausender ermitteln
 If curTausender \> 99 Then
 tmpTausender = getEiner(CInt(Left(CStr(curTausender), 1))) + \_
 "hundert" + tmpTausender
 End If
 'Zehner ermitteln
 tmpHunderter = tmpHunderter + \_
 getZehner(CInt(Right(CStr(curHunderter), 2)))
 'Hunderter ermitteln
 If curHunderter \> 99 Then
 tmpHunderter = getEiner(CInt(Left(CStr(curHunderter), 1))) + \_
 "hundert" + tmpHunderter
 End If
 'Zusammensetzen
 getZahl\_in\_Worten = tmpMillionen + tmpTausender + tmpHunderter

 Case Is \> 1000
 curTausender = CInt(Left(CStr(curZahl), Len(CStr(curZahl)) - 3))
 curHunderter = CInt(Right(CStr(curZahl), 3))

 'Zehntausender ermitteln
 tmpTausender = getZehner(CInt(Right(CStr(curTausender), 2)))
 If tmpTausender = "eins" Then 'Sonderfall "hundertEIN tausen"
 tmpTausender = Left(tmpTausender, Len(tmpTausender) - 1) + "tausend"
 Else
 tmpTausender = tmpTausender + "tausend"
 End If
 'Hunderttausender ermitteln
 If curTausender \> 99 Then
 tmpTausender = getEiner(CInt(Left(CStr(curTausender), 1))) + \_
 "hundert" + tmpTausender
 End If
 'Zehner ermitteln
 tmpHunderter = tmpHunderter + \_
 getZehner(CInt(Right(CStr(curHunderter), 2)))
 'Hunderter ermitteln
 If curHunderter \> 99 Then
 tmpHunderter = getEiner(CInt(Left(CStr(curHunderter), 1))) + \_
 "hundert" + tmpHunderter
 End If
 'Zusammensetzen
 getZahl\_in\_Worten = tmpTausender + tmpHunderter

 Case Is \> 0
 'Zehner ermitteln
 getZahl\_in\_Worten = getZehner(CInt(Right(CStr(curZahl), 2)))
 'Hunderter ermitteln
 If curZahl \> 99 Then
 getZahl\_in\_Worten = getEiner(CInt(Left(CStr(curZahl), 1))) + \_
 "hundert" + getZahl\_in\_Worten
 End If
 End Select
End Function

'
' Unterfunktion zum umwandeln der Einer einer Zahl in Worte
'
Function getEiner(curEiner) As String

 Select Case curEiner
 Case 1
 getEiner = "ein"
 Case 2
 getEiner = "zwei"
 Case 3
 getEiner = "drei"
 Case 4
 getEiner = "vier"
 Case 5
 getEiner = "fünf"
 Case 6
 getEiner = "sechs"
 Case 7
 getEiner = "sieben"
 Case 8
 getEiner = "acht"
 Case 9
 getEiner = "neun"
 End Select
End Function
'
' Unterfunktion zum umwandeln der Zehner einer Zahl in Worte
'
Function getZehner(curZehner) As String
 Dim tmpEiner As String

 Select Case curZehner
 Case Is "" Then tmpEiner = tmpEiner + "und"
 Select Case (CInt(Left(CStr(curZehner), 1)) \* 10)
 Case 20
 getZehner = tmpEiner + "zwanzig"
 Case 30
 getZehner = tmpEiner + "dreißig"
 Case 40
 getZehner = tmpEiner + "vierzig"
 Case 50
 getZehner = tmpEiner + "fünfzig"
 Case 60
 getZehner = tmpEiner + "sechzig"
 Case 70
 getZehner = tmpEiner + "siebzig"
 Case 80
 getZehner = tmpEiner + "achtzig"
 Case 90
 getZehner = tmpEiner + "neunzig"
 End Select
 End Select
End Function

Hallo,

ich habe absolut keine Ahnung was Du hier meinst.
Habe in Word gesucht und nichts dementsprechendes gefunden.
Weiß also nichts mit deiner Lösung anzufangen.

mfg Harry