Funktion Auto-ausfüllen mit Formeln und Arbeitsmappenbezug funktioniert nicht bei Zeilen
Excel 2003 sp3
Ich habe z.B. in dem Feld A1 die Formel =('arbeitsmappenname'!I11) stehen.
Wenn ich nun den Autoausfüller nehme und nach rechts ziehe,
erhöht sich der Buchstabe der Zeile von I auf J usw..
Ich möchte aber die Zahl erhöhen, z.Zt. kann ich das nur wenn ich nach unten Auto-ausfülle.
Die bekannten Tricks wie Strg drücken können mir keine Abhilfe schaffen,
ebenso nützt mir ein $ vor dem I nichts.
Bei ü800 Feldern wird mir das doch ein wenig viel Aufwand,
ich zähle auf eure Tipps ;)
Ich habe z.B. in dem Feld A1 die Formel =('arbeitsmappenname'!I11) stehen.
Wenn ich nun den Autoausfüller nehme und nach rechts ziehe,
erhöht sich der Buchstabe der Zeile von I auf J usw..
Ich möchte aber die Zahl erhöhen, z.Zt. kann ich das nur wenn ich nach unten Auto-ausfülle.
Die bekannten Tricks wie Strg drücken können mir keine Abhilfe schaffen,
ebenso nützt mir ein $ vor dem I nichts.
Bei ü800 Feldern wird mir das doch ein wenig viel Aufwand,
ich zähle auf eure Tipps ;)
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 85104
Url: https://administrator.de/forum/funktion-auto-ausfuellen-mit-formeln-und-arbeitsmappenbezug-funktioniert-nicht-bei-zeilen-85104.html
Ausgedruckt am: 26.12.2024 um 00:12 Uhr
11 Kommentare
Neuester Kommentar
Hallo Jere!
Wenn Du tatsächlich die entsprechenden Bezüge benötigst, würde ich diese eher über ein VBA-Script erzeugen. Dafür müsste ich wissen, welchen Bereich der Quelltabelle (etwa I11:AM26) Du ab welcher Zelle der Zieltabelle verknüpfen willst.
Grüße
bastla
merkwürdigerweise fehlt ihm auf einmal der Bezug zur Zeile/Spalte im eingefügten Ergebnis.
Es werden durch diese Aktion nur die aktuellen Daten mit vertauschten Zeilen/Spalten kopiert, aber keine Formeln/Bezüge erstellt.Wenn Du tatsächlich die entsprechenden Bezüge benötigst, würde ich diese eher über ein VBA-Script erzeugen. Dafür müsste ich wissen, welchen Bereich der Quelltabelle (etwa I11:AM26) Du ab welcher Zelle der Zieltabelle verknüpfen willst.
Grüße
bastla
Hallo Jere!
Derartiges kann man/frau ja vielleicht öfter einmal brauchen, daher trotzdem ein Versuch:
Sollte weitgehend selbsterklärend sein, daher habe ich etwas spärlich kommentiert ...
Grüße
bastla
Derartiges kann man/frau ja vielleicht öfter einmal brauchen, daher trotzdem ein Versuch:
Sub ErstelleTransponierteBezuege()
'#### ab hier anpassen ####
QuellTabelle = "Tabelle1"
QuellBereich = "I11:AM35"
ZielTabelle = "Tabelle2"
ZielZelle = "B7"
'#### bis hier anpassen ####
QuellSpalte = Range(Split(QuellBereich, ":")(0)).Column
QuellZeile = Range(Split(QuellBereich, ":")(0)).Row
QuellSpaltenAnzahl = Range(QuellBereich).Columns.Count
QuellZeilenAnzahl = Range(QuellBereich).Rows.Count
ZielSpalte = Range(ZielZelle).Column
ZielZeile = Range(ZielZelle).Row
For i = 1 To QuellSpaltenAnzahl
For j = 1 To QuellZeilenAnzahl
Worksheets(ZielTabelle).Cells(ZielZeile + i - 1, ZielSpalte + j - 1).Formula = _
"=" & QuellTabelle & "!" & _
Cells(QuellZeile + j - 1, QuellSpalte + i - 1).Address(False, False)
Next
Next
End Sub
Grüße
bastla
33 Minuten hast du gebraucht
Entschuldigung, musste zwischendurch kurz weg ... Grüße
bastla
P.S.: ... um allerdings der Wahrheit die Ehre zu geben: Ich hatte schon von 17:00 angefangen (und ein wenig mit der Bildung der Adresse über ASCII-Codes herumgespielt), so kommt's dann tatsächlich einigermaßen auf die halbe Stunde hin.
Hallo,
Ich hatte diese Woche genau das selbe Problem und kann diesen Code verifizieren! Ich habe jedoch ein weiteres Problem:
Ich möchte in der gleichen Zieltabelle mehrere Spalten auf diese Weise ausfüllen.
Ich hab danach einfach den Code kopiert und die variablen anders benennt. Jedoch funktioniert dies nicht kann mir da jemand helfen mit dem Code? (siehe unten)
Des weiteren Frage ich mich ob es möglich ist im Ausfüllprozess eine "WENN" formel einzubauen?
Sprich mit den Werten aus Tabelle1 für den definierten Quellbereich soll er den Wert nehmen und dies in eine gewünschte WENN formel packen.
Ich hatte diese Woche genau das selbe Problem und kann diesen Code verifizieren! Ich habe jedoch ein weiteres Problem:
Ich möchte in der gleichen Zieltabelle mehrere Spalten auf diese Weise ausfüllen.
Ich hab danach einfach den Code kopiert und die variablen anders benennt. Jedoch funktioniert dies nicht kann mir da jemand helfen mit dem Code? (siehe unten)
Sub ErstelleTransponierteBezuege()
'#### ab hier anpassen ####
QuellTabelle = "'T1"
QuellBereich = "K81:K106"
ZielTabelle = "T2"
ZielZelle = "H22"
'#### bis hier anpassen ####
QuellSpalte = Range(Split(QuellBereich, ":")(0)).Column
QuellZeile = Range(Split(QuellBereich, ":")(0)).Row
QuellSpaltenAnzahl = Range(QuellBereich).Columns.Count
QuellZeilenAnzahl = Range(QuellBereich).Rows.Count
ZielSpalte = Range(ZielZelle).Column
ZielZeile = Range(ZielZelle).Row
For i = 1 To QuellSpaltenAnzahl
For j = 1 To QuellZeilenAnzahl
Worksheets(ZielTabelle).Cells(ZielZeile + i - 1, ZielSpalte + j - 1).Formula = _
"=" & QuellTabelle & "!" & _
Cells(QuellZeile + j - 1, QuellSpalte + i - 1).Address(False, False)
Next
Next
'#### ab hier anpassen ####
QuellTabelle2 = "'T1"
QuellBereich2 = "I81:I106"
ZielTabelle2 = "T2"
ZielZelle2 = "H13"
'#### bis hier anpassen ####
QuellSpalte2 = Range(Split(QuellBereich2, ":")(0)).Column
QuellZeile2 = Range(Split(QuellBereich2, ":")(0)).Row
QuellSpaltenAnzahl2 = Range(QuellBereich2).Columns.Count
QuellZeilenAnzahl2 = Range(QuellBereich2).Rows.Count
ZielSpalte2 = Range(ZielZelle).Column
ZielZeile2 = Range(ZielZelle).Row
For k = 1 To QuellSpaltenAnzahl2
For b = 1 To QuellZeilenAnzahl2
Worksheets(ZielTabelle2).Cells(ZielZeile2 + k - 1, ZielSpalte2 + b - 1).Formula = _
"=" & QuellTabelle2 & "!" & _
Cells(QuellZeile2 + b - 1, QuellSpalte2 + k - 1).Address(False, False)
Next
Next
End Sub
Des weiteren Frage ich mich ob es möglich ist im Ausfüllprozess eine "WENN" formel einzubauen?
Sprich mit den Werten aus Tabelle1 für den definierten Quellbereich soll er den Wert nehmen und dies in eine gewünschte WENN formel packen.
Moin unwrought,
ich habe mal deinen Code in Code-Tags gesetzt, damit jemand die Chance zum Lesen hat.
Ich tippe auf die Zeile 04 und 29... so heisst die Quelltabelle bestimmt nicht.
Abgesehen davon wäre es mir lieber,
a) wir machen das mit einfachen Excelformeln und Auto-Ausfüllen statt mit VBA... das ist doch hier mit Melonen auf Spätzle geworfen oder wie das heisst
b) aber bitte in einem neuen Beitrag, der hier müffelt schon.
Grüße
Biber
P.S. Excelformellösung für dein erstes Beispiel:
In Tabelle T1, K$81:K$106 stehen Werte, die du transpirieren willst (oder wie das heisst)
Die sollen in Tabelle T2 Zelle H22 und danach in die Zellen rechts daneben..
Also in Zelle T2!H22 folgende Formel:
...und mit Autoausfüllen nach rechts ziehen soweit nötig.
ich habe mal deinen Code in Code-Tags gesetzt, damit jemand die Chance zum Lesen hat.
Ich tippe auf die Zeile 04 und 29... so heisst die Quelltabelle bestimmt nicht.
Abgesehen davon wäre es mir lieber,
a) wir machen das mit einfachen Excelformeln und Auto-Ausfüllen statt mit VBA... das ist doch hier mit Melonen auf Spätzle geworfen oder wie das heisst
b) aber bitte in einem neuen Beitrag, der hier müffelt schon.
Grüße
Biber
P.S. Excelformellösung für dein erstes Beispiel:
In Tabelle T1, K$81:K$106 stehen Werte, die du transpirieren willst (oder wie das heisst)
Die sollen in Tabelle T2 Zelle H22 und danach in die Zellen rechts daneben..
Also in Zelle T2!H22 folgende Formel:
=INDEX(T1!$A$1:$AZ$999;SPALTE(A$1)+80; SPALTE($K$1))
...und mit Autoausfüllen nach rechts ziehen soweit nötig.