online 1
gast (50)

/ Forum / Tabellenkalkulation

TabellenkalkulationTabellenkalkulation

Fragevon Paulo87 vom 19.03.2020, 12:58 Options

Makro mit Formula und Range

Hallo Supporter,
ich habe folgendes Problem:
Der Zellinhalt aller geöffneten Dokumente und Worksheets soll, wenn er ein "=", ein "[" und ein "S:" an der jeweiligen Stelle enhält, verändert werden (in Excel).
Folgendes Makro macht das auch, aber nur manchmal:

Sub Pfadaenderung()
Dim R As Range
Dim i As Integer

Dim Length As Integer
Dim Path_old As String

For Each wb In Workbooks
For Each ws In Worksheets
ActiveWorkbook.Save
For Each R In ws.UsedRange
If Left(R.Formula, 1) = "=" And InStr(R.Formula, "[") > 1 And InStr(R.Formula, "S:") > 1 Then
Path_old = R.Formula
i = InStr(R.Formula, ":")
Length = Len(R.Formula)
Path = Left(Path_old, i - 2) & "J:" & Right(R.Formula, Length - i)
R.Formula = Path
Else
End If
Next R
Next ws
ActiveWorkbook.Close Savechanges:=True
Next wb
End Sub

Wenns nicht klappt, kommt folgende Meldung:
"Laufzeitfehler: '-214...'"
"Die Methode 'Formula' für das Objekt 'Range' ist fehlgeschlagen"

Kann mir jemand helfen?

Danke schon im voraus.

Paulo


Antwort schreiben

Antwort 1 von gast89 vom 23.03.2020, 18:13 Options

Hallo Zusammen

Ich möchte das es mier bei der wahl einer Zelle (z Bsp. A1) automatisch mein Macro ausführt.
Die Wahl der Zelle ist meist mit dem Tabulator kann aber auch durch die maus etc. gewählt werden.
Ist es möglich Macros den Zellen zuzuweisen

Vielen Dank für die Hilfe
Roger

Antwort 2 von fedjo vom 23.03.2020, 18:26 Options

Hallo Roger,
in das Codefenster der Tabelle einfügen:

Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If ActiveCell.Address = "$A$1" Then
'Call dein Makro
Range("B1") = "A1"
End If
End Sub

Gruß
fedjo

Antwort 3 von Saarbauer vom 24.03.2020, 09:18 Options

Hallo @Paulo87,

hast du mal das Makro in Einzelschritten abgearbeitet?

In welcher Zeile kommt den die Fehlermeldung?

Hallo @gast89,

du solltest dein Problem grundsätzlich nicht in anderen Threads abhandeln, sondern eine neuen adfür eröffnen.


Gruß

Helmut

Antwort 4 von Paulo87 vom 26.03.2020, 08:06 Options

Hallo Helmut,

vielen Dank schonmal für deine Antwort.

ja, das hab ich gemacht.
Der Fehler kommt in der fett geschriebenen Zeile:


Sub Pfadaenderung()
Dim R As Range
Dim i As Integer

Dim Length As Integer
Dim Path_old As String

For Each wb In Workbooks
For Each ws In Worksheets
ActiveWorkbook.Save
For Each R In ws.UsedRange
If Left(R.Formula, 1) = "=" And InStr(R.Formula, "[") > 1 And InStr(R.Formula, "S:") > 1 Then
Path_old = R.Formula
i = InStr(R.Formula, ":")
Length = Len(R.Formula)
Path = Left(Path_old, i - 2) & "J:" & Right(R.Formula, Length - i)
[b]R.Formula = Path[/b]
Else
End If
Next R
Next ws
ActiveWorkbook.Close Savechanges:=True
Next wb
End Sub


Ich weiß nicht mehr weiter...
Finde es total seltsam, dass es manchmal ohne Probleme klappt und beim nächsten Mal wieder der Fehler auftritt...
Danach stürzt Excel auch ab mit Ausnahmefehler und so.

Mit freundlichen Grüßen

Paulo87

Antwort 5 von Paulo87 vom 26.03.2020, 08:07 Options

Super...jetzt zeigts die nicht fett an...


R.Formula = Path


ist die Zeile.

Antwort 6 von Saarbauer vom 26.03.2020, 09:34 Options

hallo,

hast du mal nachgesehen was in Path drinsteht wenn es funktioniert und wenn es nicht fuktioniert?

So kann ich auf anhieb in der Zeile kein Fehler entdecken

Gruß

Helmut

Antwort 7 von Paulo87 vom 26.03.2020, 13:00 Options

Hallo Helmut,

hab jetzt mal überprüft was in Path drinsteht.
Seitdem ist der Fehler nicht mehr aufgetaucht. Ist sehr komisch...
Aber so lange es so bleibt passts ja ;)

Danke dir auf jeden Fall.

Viele Grüße

Paulo87

Ähnliche Themen

kann mir mal jemand ein Makro übersetzen?
Jan1105  11.05.2007 - 67 Hits - 2 Antworten

Excel Makro: Inhalte von mehreren sheets auf einem sheet verlinken
hilfloserhans  30.08.2007 - 9 Hits - 3 Antworten

Sverweis
mmarion  13.09.2007 - 37 Hits - 1 Antwort

in Formel suchen und ersetzten
enibas74  19.09.2007 - 25 Hits - 3 Antworten

VBA Excel
lanz  20.05.2008 - 49 Hits - 5 Antworten

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Mon Jan 26 07:32:25 2026