Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Zeichen hinzufügen bei allen markierten Felder

Zeichen hinzufügen bei allen markierten Felder
25.06.2018 16:53:39
Lilli
Hallo ihr lieben,
ich bräuchte bitte einen Makro, wo die Markierten Felder, die bereits eine Formel enthalten, durch ein Hochkomma ' am Anfang einsetzt und dadurch die Formeln ausgesetzt werden.
Ein suchen-ersetzen Makros, der die =Zeichen in '= umstellt ist nicht hilfreich. Fast alle Formeln enthalten innerhalb der Formeln weitere = Zeichen.
Und bitte ein zweites Makros, der das ganze rückgängig macht bzw den ersten Zeichen aus dem markierten Felder raus nimmt.
Ich bin über jede Hilfe sehr dankbar.
vielen Dank für die Mühe im Voraus.
Liebe Grüße,
Lilli
Anzeige

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeichen hinzufügen bei allen markierten Felder
25.06.2018 17:14:17
EtoPHG
Hallo Lilli,
Probier mal:
Sub Formula2Text()
Dim rc As Range
If TypeName(Selection) = "Range" Then
For Each rc In Selection.Cells
If rc.HasFormula Then rc.Formula = Replace(rc.Formula, "=", "'##", , 1)
Next rc
End If
End Sub
Sub Text2Formula()
Dim rc As Range
If TypeName(Selection) = "Range" Then
For Each rc In Selection.Cells
If Left(rc.Value, 2) = "##" Then rc.Formula = Replace(rc.Text, "##", "=", , 1)
Next rc
End If
End Sub
Gruess Hansueli
Anzeige
AW: Zeichen hinzufügen bei allen markierten Felder
25.06.2018 18:23:04
Lilli
Hallo Hansueli,
vielen lieben Dank für deine Hilfe. Das hat sehr gut geklappt. Allerdings habe ich gemerkt, dass die Formeln bzw. die Funktionen auf einmal in Englischer Sprache sind. Da verstehe ich noch weniger als vorher ;)
Beim Text2Formula ändern sich die Funktionen ins Deutsche. Was muss ich tun, damit die Befehle weiterhin in Deutsch bleiben, wenn ich Formula2Text ausführe?
vielen Dank für die Mühe und Feedback im Voraus.
Liebe Grüße,
Lilli :)
Anzeige
AW: Zeichen hinzufügen bei allen markierten Felder
25.06.2018 18:43:24
EtoPHG
Hallo Lilli,
Die rc.Formula jeweils durch rc.FormulaLocal ersetzen.
Gruess Hansueli
AW: Zeichen hinzufügen bei allen markierten Felder
26.06.2018 07:57:42
Lilli
Hallo Hansueli,
das habe ich gemacht. Formula2Text funktioniert einwandfrei. Wenn ich das aber Rückgängig mache, werde alle Formel gelöscht.
hier der aktuelle Code:
Sub Formula2Text()
Dim rc As Range
If TypeName(Selection) = "Range" Then
For Each rc In Selection.Cells
If rc.HasFormula Then rc.FormulaLocal = Replace(rc.FormulaLocal, "=", "'##", , 1)
Next rc
End If
End Sub

Sub Text2Formula()
Dim rc As Range
If TypeName(Selection) = "Range" Then
For Each rc In Selection.Cells
If Left(rc.Value, 2) = "##" Then rc.FormulaLocal = Replace(rc.Text, "##", "=", , 1)
Next rc
End If
End Sub

Vielen Dank für das Feedback.
Liebe Grüße,
Lilli
Anzeige
AW: Zeichen hinzufügen bei allen markierten Felder
26.06.2018 07:59:04
Lilli
Kontrollkästen aktivieren vergessen ;)
Kann ich nicht reproduzieren...
26.06.2018 08:07:34
EtoPHG
Hallo Lilli,
Dein beschriebenes Verhalten, kann ich nicht reproduzieren.
Bei mir funktionieren die beiden Codes einwandfrei!
Ich wäre als auf eine Mappe angewiesen, die dieses zeigt.
Gruess Hansueli
AW: Kann ich nicht reproduzieren...
26.06.2018 09:52:00
Lilli
Hallo Hansueli,
vielen dank für den Hinweis.
https://www.herber.de/bbs/user/122328.xlsx
Das ist eine Tabelle von der Gesamtmappe. Ich hoffe, das reicht.
vielen Dank für die Mühe
und viele liebe Grüße,
Lilli :)
Anzeige
AW: Kann ich nicht reproduzieren...
26.06.2018 11:04:33
EtoPHG
Hallo Lilli,
Was soll ich dazu sagen? Ich würde mich zuerst um die BEZUG-Fehler kümmern, bevor ich solche Makros einsetze. Aber anyway, versuch es halt mal so:
Option Explicit
Sub Formula2Text()
Dim rc As Range
If TypeName(Selection) = "Range" Then
For Each rc In Selection.Cells
If rc.HasFormula Then rc.FormulaLocal = Replace(rc.FormulaLocal, "=", "##", , 1)
Next rc
End If
End Sub
Sub Text2Formula()
Dim rc As Range
If TypeName(Selection) = "Range" Then
For Each rc In Selection.Cells
If Not IsError(rc.Value) Then
If Left(rc.Value, 2) = "##" Then _
rc.FormulaLocal = Replace(rc.Value, "##", "=", , 1)
End If
Next rc
End If
End Sub
Code in ein allgemeines Modul.
Gruess Hansueli
Anzeige
P.S. Alle Ausdrücke, in beiden Makros! (owT)
25.06.2018 19:20:34
EtoPHG

;

Forumthreads zu verwandten Themen

Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige