Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
364to368
364to368
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Bezüge in Matrixformeln

Bezüge in Matrixformeln
19.01.2004 19:09:41
Frank
Hallo Leute,
wie kann ich im ganzen Blatt alle relativen Bezüge in absolute Bezüge ändern.
Ich meine jetzt nicht einzeln mit F4 sondern auf einen Streich?
Das Blatt enthält auch Matrixformeln.
Danke schon mal fürs Lesen.
Gruß Frank

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Bezüge von relativ in absolut - auch in Matrixf.
19.01.2004 19:28:00
Boris
Hi Frank,
da auch Array-Formeln vorkommen, fällt mir nur die Variante mit Sendkeys ein.
Den fraglichen Bereich markieren und folgendes Makro starten:
Option Explicit

Sub AbsoluteBezüge()
Dim C As Range
For Each C In Selection
If C.HasFormula Then
If C.HasArray Then
C.Formula = Application.ConvertFormula(C.Formula, xlA1, , xlAbsolute)
C.Select
Application.SendKeys ("{F2}")
Application.SendKeys ("^+~")
Else
C.Formula = Application.ConvertFormula(C.Formula, xlA1, , xlAbsolute)
End If
End If
Next
End Sub

Grüße Boris
AW: Bezüge von relativ in absolut - auch in Matrixf.
19.01.2004 19:34:09
Frank
Hi Boris,
das klappt so nicht, warum weiß ich nicht. Da wird nur immer eine
Zelle zur Matrixformel. Ob das an diesem Sendkeys liegt?
Grüße Frank
Anzeige
Du musst schon richtig lesen:
19.01.2004 20:01:20
Boris
Hi Frank,
"Den fraglichen Bereich markieren und folgendes Makro starten."
Wenn du nur 1 Zelle auswählst, dann wird natürlich auch nur 1 Zelle geändert...
Grüße Boris
AW: Du musst schon richtig lesen:
19.01.2004 20:05:31
Frank
Hi Boris,
ja, das hab ich ja auch gemacht, trotzdem haben nicht alle Zellen,
die vorher eine Matrixformeln hatten, nach dem Makro auch wieder
diese Klammern.
Gruß Frank
AW: Du musst schon richtig lesen:
19.01.2004 20:08:59
Frank
Hi Boris,
immer nur die letzte Zelle in der gesamten Selection wird wieder zur Matrixformel.
Gruß Frank
Hast Recht - NOCH OFFEN
19.01.2004 20:30:04
Boris
Hi Frank,
...kann jetzt aber grad nicht - die Kinder müssen ins Bett...;-))
Grüße Boris
Es ist doch ganz einfach...
19.01.2004 20:55:00
Boris
Hi Frank,
...ich hab viel zu kompliziert gedacht. Bereich markieren und los geht´s:
Option Explicit

Sub AbsoluteBezüge()
Dim C As Range, rngBereich As Range
Set rngBereich = Selection
For Each C In rngBereich
If C.HasFormula Then
If C.HasArray Then
C.FormulaArray = Application.ConvertFormula(C.Formula, xlA1, , xlAbsolute)
Else
C.Formula = Application.ConvertFormula(C.Formula, xlA1, , xlAbsolute)
End If
End If
Next
End Sub

Grüße Boris
Anzeige
AW: Es ist doch ganz einfach...
19.01.2004 21:33:16
Frank
Hi Boris,
ich hab es inzwischen mithilfe deines Codes auch hinbekommen
nur nicht ganz so umständlich. Danke für deine Hilfe.
Grüße Frank
Häh?
19.01.2004 21:42:36
Boris
Hi Frank,
"...nur nicht ganz so umständlich..."
Wie soll ich das verstehen? Und wenn du eine nicht so umständliche Lösung hast - dann lass mich und uns doch bitte dran teilhaben...
Grüße Boris
AW: Häh?
19.01.2004 23:15:33
Frank
Hi Boris,
das ist wesentlich kürzer und einfach eleganter:
Option Explicit

Sub AbsoluteBezüge()
Dim c As Range, bArray As Boolean
For Each c In Selection
If c.HasFormula Then
bArray = c.HasArray
c.Formula = Application.ConvertFormula(c.Formula, 1, , 1)
If bArray Then c.FormulaArray = c.Formula
End If
Next
End Sub

Grüße Frank
Anzeige
Aber keine Millisekunde schneller...
20.01.2004 00:22:08
Boris
Hi Frank,
...in diesem Sinne:
Grüße Boris
AW: Aber keine Millisekunde schneller...
20.01.2004 00:56:14
Frank
Hi Boris,
darum kann es bei den paar Zeilen auch nicht gehen. Du solltest das
in größerem Kontext sehen, wenn du verstehst, was ich meine.
Wenn mein Code schon bei dieser Größenordnung ca. 80 Zeichen weniger
beansprucht, dann ist es für dich sicher nicht so schwer hochzurechnen,
wie das bei einem komplexen Code von einigen tausend Zeilen aussieht.
Nimms nicht so schwer, Excel wird auch dir Spaß machen, wenn du dich
erstmal etwas besser auskennst.
Grüße Frank
Ich glaub´s ja nicht...
20.01.2004 09:06:37
Boris
Hi Frank,
...merkst du eigentlich gar nicht, mit welch arrogantem Ton du hier postest? Wer hat hier eigentlich die Ursprungsfrage gestellt?
Insofern sage ich jetzt:
1.) Entschuldigung, dass ich deine Frage gelesen habe
2.) Entschuldigung, dass ich dir ne Antwort gegeben habe
3.) Es wird nicht wieder vorkommen.
Boris
Anzeige

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige