Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Automatisch Relative in absolute Bezüge umwandeln

851 views
Skip to first unread message

Dennis Horstmann

unread,
Aug 2, 2005, 9:02:03 AM8/2/05
to
Ich habe einen sehr großen Datenbereich in Datei A.xls, der komplett relativ
verlinkt ist, mit einem Datenblatt "Eins" in anderen Excel-Dateien.
Mittlerweile ist in diesen Dateien noch ein zweites Tabellenblatt "Zwei"
dazugekommen. Das ist identisch aufgebaut wie "Eins", nur mit anderen Zahlen
drinnen. Diese würde ich gerne auch in der Datei A.xls zusammenführen, wie es
bereits mit "Eins" geschehen ist.

Normalerweise hätte ich also einfachden bisherigen Datenbereich in Datei
A.xls kopiert und darunter nocheinmal eingefügt und einfach per ersetzen
"Eins" durch "Zwei" ersetzt.

Leider sind die Bezüge abe relativ. Daher verändert Excel beim Einfügen
logischerweise auch die Zellbezüge.

Lange Beschreibung, kurze Frage:

Gibt es eine Möglichkeit (Makro!?) relative Zellbezüge in absolute
umzuwandeln, oder müßte ich jetzt 10.000 $-Zeichen per Hand setzen?

Danke für eure Hilfe

Dennis

Hajo at

unread,
Aug 2, 2005, 9:27:09 AM8/2/05
to
Hallo Dennis,

schaue mal auf meine HP Seite VBA
http://www.downloadcounter.de/counter.pl?file=http://home.media-n.de/ziplies/gepackt/vba/bezuege.zip&user=Hajo+Ziplies

Gruß Hajo
MVP für Microsoft Excel
Betriebssystem XP Home SP2 und Excel Version 2003 SP1.
http://home.media-n.de/ziplies/


"Dennis Horstmann" <DennisH...@discussions.microsoft.com> schrieb im
Newsbeitrag news:852ADC3A-9BDD-4D44...@microsoft.com...

Alexander Wolff

unread,
Aug 2, 2005, 9:28:35 AM8/2/05
to
Dennis Horstmann schrieb unlängst:

> Ich habe einen sehr großen Datenbereich in Datei A.xls, der komplett
> relativ verlinkt ist, mit einem Datenblatt "Eins" in anderen
> Excel-Dateien. Mittlerweile ist in diesen Dateien noch ein zweites
> Tabellenblatt "Zwei" dazugekommen. Das ist identisch aufgebaut wie
> "Eins", nur mit anderen Zahlen drinnen. Diese würde ich gerne auch in
> der Datei A.xls zusammenführen, wie es bereits mit "Eins" geschehen
> ist.
> Normalerweise hätte ich also einfachden bisherigen Datenbereich in
> Datei A.xls kopiert und darunter nocheinmal eingefügt und einfach per
> ersetzen "Eins" durch "Zwei" ersetzt.
> Leider sind die Bezüge abe relativ. Daher verändert Excel beim
> Einfügen logischerweise auch die Zellbezüge.

Kopiere das Blatt und füge es in der Mappe ein,
Suche/Ersetze in der Kopie Eins->Zwei,
schneide den Bereich aus und
füge an Deiner gewünschten Stelle im Original ein.
Dann lösche das Kopie-Blatt.
--
Hallo + Gruss Alexander (WinXP Home SP1 - Office 2000 SP3) 6----5----7-2


Snooze

unread,
Aug 2, 2005, 10:01:39 AM8/2/05
to
ahoi,
alles was ich dir sagen kann ist das du mit F4 in einer formel einen
zellbezug ändern kannst einfach in A1 denn cursor setzen F4 und der
setzt $ zeichen.
leider ist mir dein mappen aufbau nciht ganz klar deswege hab ich auch
keine alternative.
,mfg snooze

Peter Wolber

unread,
Aug 2, 2005, 10:05:02 AM8/2/05
to
Am 02.08.2005 schrieb Dennis Horstmann:

Hallo Dennis,

> Gibt es eine Möglichkeit (Makro!?) relative Zellbezüge in absolute
> umzuwandeln, oder müßte ich jetzt 10.000 $-Zeichen per Hand setzen?

Vor kurzem in einem Forum gefunden. Schau mal ob dir das weiterhilft:

Bitte an einer Kopie deiner Daten ausprobieren.

Sub AbsoluteBezuege()
'Quelle: Nepumuk
Dim myRange As Range
For Each myRange In ActiveSheet.UsedRange
If myRange.HasFormula Then
If myRange.HasArray Then
If Application.ReferenceStyle = xlR1C1 Then
myRange.FormulaArray = Application.ConvertFormula _
(myRange.Formula, xlR1C1, , xlAbsolute)
Else
myRange.FormulaArray = Application.ConvertFormula _
(myRange.Formula, xlA1, , xlAbsolute)
End If
Else
If Application.ReferenceStyle = xlR1C1 Then
myRange.Formula = Application.ConvertFormula _
(myRange.Formula, xlR1C1, , xlAbsolute)
Else
myRange.Formula = Application.ConvertFormula _
(myRange.Formula, xlA1, , xlAbsolute)
End If
End If
End If
Next
End Sub

Sub RelativeBezuege()
'Quelle: Nepumuk
Dim myRange As Range
For Each myRange In Selection
If myRange.HasFormula Then
If myRange.HasArray Then
If Application.ReferenceStyle = xlR1C1 Then
myRange.FormulaArray = Application.ConvertFormula _
(myRange.Formula, xlR1C1, , xlRelative)
Else
myRange.FormulaArray = Application.ConvertFormula _
(myRange.Formula, xlA1, , xlRelative)
End If
Else
If Application.ReferenceStyle = xlR1C1 Then
myRange.Formula = Application.ConvertFormula _
(myRange.Formula, xlR1C1, , xlRelative)
Else
myRange.Formula = Application.ConvertFormula _
(myRange.Formula, xlA1, , xlRelative)
End If
End If
End If
Next
End Sub

HTH
Gruss
Peter

Dennis Horstmann

unread,
Aug 2, 2005, 12:39:01 PM8/2/05
to
Klappt beides!

Die Makros laufen einwandfrei und die andere Methode auch!

Vielen Dank!

"Alexander Wolff" schrieb:

0 new messages