Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Zellwert zu Formel in anderer Zelle machen -> 4x4 zu =4x4
#11
Hallo,

im Ausgangsposting sprichst du von A1 und B1. Was hat das mit externen Dateien zu tun?

Attilas VBA-Vorschlag hast du gelesen?
Gruß
Peter
Antworten Top
#12
Peterim Ausgangsposting sprichst du von A1 und B1. Was hat das mit externen Dateien zu tun?

Attilas VBA-Vorschlag hast du gelesen?
erst jetzt durch deinen Hinweis gesehen. Es ging mir erstmal nur ums Prinzip: http://www.clever-excel-forum.de/thread-...l#pid68721


(16.02.2017, 16:41)atilla schrieb:
Code:
Range("A1").FormulaLocal = "=" & Range("A1").Value

Geht nicht. Hab es mit '4x4 & '=4x4 ausgetestet in A1. Die Formel steht in A2:
[url=
Dateiupload bitte im Forum! So geht es: Klick mich!
]
Der markiert mir dann FormulaLocal in der Formel.
Antworten Top
#13
Hallo Julia,

langsam wird es unheimlich mit Dir.

Ich habe einmal auf Deine Frage geantwortet.
Dann habe ich Dich auf meine Antwort hingewiesen.
Dann hat Peter Dich auf meine Antwort hingewiesen.
Und erst Da reagierst Du und sagst lapidar : "geht nicht"

Das geht so nicht.

Geht nicht muss mit exakten Beispielen belegt werden. Mit dem genauen Code, welchen Du genutzt hast und mit den Werten die in Frage kommen.
Beispielmappe oder ein Tabellenausschnitt sollte das mindeste sein.

Und das geht nicht bei Dir geht nicht, weil Excel mit Deinem " X" zwischen den Zahlen nichts anfangen kann. Excel braucht ein "*" zum multiplizieren.
Dann geht das schon. Ich habe es mit 4*4 mit 40*40 mit 400*400 mit 4000*4000 mit 400000*400000 getestet, und es geht alles.

Noch ein Hinweis, man kann auch auf einen Schlag einen Bereich mit einer Formel füllen, die Zelladressen passen sich bei richtigem Gebrauch an.
Gruß Atilla
Antworten Top
#14
Hallo,


es geht auch mit 4x4!


Code:
=auswerten(wechseln(a1;"x";"*"))


Aber offensichtlich sind da ganz andere Probleme imHintergrund. Leider werden uns hier nur Bröckchen serviert, man kann also weder die Zusammenhänge verstehen noch vielleicht eine Alternative finden. Und der TE ist offensichtlich mit der Materie überfordert.
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Antworten Top
#15
(17.02.2017, 19:46)atilla schrieb: Geht nicht muss mit exakten Beispielen belegt werden. Mit dem genauen Code, welchen Du genutzt hast und mit den Werten die in Frage kommen.
Beispielmappe oder ein Tabellenausschnitt sollte das mindeste sein.
hier steht doch genau der Code den ich versucht habe einzufügen. Jedoch geht das nicht, sobald ich das mit Enter bestätige, erhalte ich die Fehlermeldung(von dem Bild). Hier nochmal. In A2 habe ich die Formel von dir ohne =-Zeichen stehen, weil ich das =-Zeichen ja nicht bestätigen kann mit Enter. In A1 versuche ich das gerade, dann kommt jedoch die Fehlermeldung. Weiter komme ich also erst gar nicht.

[url=
Dateiupload bitte im Forum! So geht es: Klick mich!
]

ein schönes Wochenende Allen!
Antworten Top
#16
Hallo Julia,

in A1 schreibst Du: 4*4 hinein (ohne Gleichheitszeichen!)

Dann führst Du folgenden Code aus:

Code:
Sub test()
  Range("A1").FormulaLocal = "=" & Range("A1").Value
End Sub

Ich mach mal vor:
So sieht es in Zelle A1 aus:

Arbeitsblatt mit dem Namen 'Tabelle1'
 A
14*4
Diese Tabelle wurde mit Tab2Html (v2.4.1) erstellt. ©Gerd alias Bamberg

Dann führe ich obiges Makro aus,  und jetzt sieht es so aus:

Arbeitsblatt mit dem Namen 'Tabelle1'
 A
116

ZelleFormel
A1=4*4
Diese Tabelle wurde mit Tab2Html (v2.4.1) erstellt. ©Gerd alias Bamberg


Versuch auch langsam zu verstehen, was der Code macht.
Er schreibt ein Gleichheitszeichen und den bisherigen Inhalt der Zelle in die selbige, und zwar wie im Code steht in Zelle A1.
Heißt mit anderen Worten, Du kannst nicht erwarten, wenn im Code A1 steht, dass er dann auch B1 beeinflusst.
Gruß Atilla
[-] Folgende(r) 1 Nutzer sagt Danke an atilla für diesen Beitrag:
  • o0Julia0o
Antworten Top
#17
jetzt funktioniert es, danke atilla!

Das mit dem Codeinhalt verstehen, habe ich inzwischen auch. Jetzt ist mir dann eine Abwandelung eingefallen. Geht auch so etwas?

Code:
Sub test()
  Range("A1:A30").FormulaLocal = "=" & Range("A1:A30").Value
End Sub
Also anscheinend nicht, da der Debugger dann anspringt. Alternative wäre natürlich
Code:
Sub test()
  Range("A1").FormulaLocal = "=" & Range("A1").Value
  Range("A2").FormulaLocal = "=" & Range("A2").Value
  Range("A3").FormulaLocal = "=" & Range("A3").Value
  Range("A4").FormulaLocal = "=" & Range("A4").Value
End Sub
usw., jedoch könnte das ja sicherlich noch sparsamer gehen.
Antworten Top
#18
Aus dem Kopf so?

Sub Test()
Dim max, i as Integer

Max = Range("A60000").End(xlup).row

For i = 1 to Max
  Cells(i, 1).FormulaLocal = "=" & Cells(i, 1).Value
Next

End Sub
Antworten Top
#19
Hallo Julia,

in meiner Antwort in Beitrag #13 hatte ich folgendes geschrieben:

Zitat:Noch ein Hinweis, man kann auch auf einen Schlag einen Bereich mit einer Formel füllen, die Zelladressen passen sich bei richtigem Gebrauch an.

Aber es geht nicht so, wie Du es Dir vorstellst, sondern einfacher.

Folgendes Beispiel:
Du möchtest in der geöffneten Datei Verknüpfungen zu Zellen aus einer anderen Datei.
Dann würde um den Wert aus zelle A1 zu erhalten in der geöffneten Datei beispielsweise folgende Formel stehen:

=[Mappe1.xlsx]Tabelle1!A1

Mappe1 wäre die geschlossene Datei und in dieser die Zelle A1 aus Tabelle1, ok. so weit?

Nun möchtest Du aber nicht eine Zelle sondern einen Bereich einlesen.
Zum Beipiel den Bereich A1:A30.
Dazu würdest Du die Formel einfach runterziehen. und die Zelladresse würde sich aotomatisch anpassen. Auch klar, oder?

Um das per Code zu ereichen, müssen die Zellen nicht vorher mit dem Formeltorso also ohne "=" vorbelegt sein.
Es braucht nichts in den Zellen stehen.

Der Coide würde so aussehen:

Code:
Sub test()
 Range("A1:B30").FormulaLocal = "=" & "[Mappe1.xlsx]Tabelle1!A1"
End Sub

Damit wäre der Bereich mit der Formel ausgefüllt und die Zelladresse passt sich automatich an.
Dann steht da
in A1: =[Mappe1.xlsx]Tabelle1!A1
in A2: =[Mappe1.xlsx]Tabelle1!A2
in A3: =[Mappe1.xlsx]Tabelle1!A3
usw.

Also Formel nicht in die Zellen vortragebn, sondern mit dem Code reinschreiben. Es reicht dafür, dafür heißt in diesem Fall, die eine Zeile Code.
Gruß Atilla
[-] Folgende(r) 1 Nutzer sagt Danke an atilla für diesen Beitrag:
  • o0Julia0o
Antworten Top
#20
danke Dir! So ganz haut das jetzt aber nicht hin, da ich jetzt nicht fest auf Mappe1 verweisen möchte. Sondern auf das, was in einem Feld steht. Und in diesem Feld steht dann die richtige Mappe.

(17.02.2017, 19:46)atilla schrieb: Dann habe ich Dich auf meine Antwort hingewiesen.
ah, jetzt verstehe ich erst was du meintest:
(16.02.2017, 18:12)atilla schrieb: Hallo,

meinen Beitrag übersiehst Du!?
Ich dachte, das wäre zu Jockel gemeint gewesen.

Ich verstehe dein Konstrukt also voll und ganz. Meine Variante kommt aber leider nicht durch den Debugger(obwohl ich extra beide Daumen gedrückt hatte):
Code:
Sub test()
 Range("A1:B30").FormulaLocal = "=" & "["&Calc!C1&"]" & "Werte!$A6"
End Sub
-> Ergebnis: Fehler beim Kompilieren: Syntaxfehler

Julia :)
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste