Anzeige
Archiv - Navigation
1396to1400
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Pfad und Dateiname in FormulaLocal

Pfad und Dateiname in FormulaLocal
17.12.2014 12:35:27
WalterK
Hallo,
folgenden Codeteil bringe ich nicht zum funktionieren:
wksAus.Range("B5:P21").FormulaLocal = "='" & wksAus.Range("$A$1") & "\" & wksAus.Range("B$3").Value & "\[" & wksAus.Range("$A5").Value & "]Jahresübersicht'!" & wksAus.Range("B$2") & ""
1.) Der erste Teil des Pfades soll aus der Zelle $A$1 ausgelesen werden.
2.) In B$3 steht der Ordnername (Spalte B ist veränderbar).
3.) In $A5 steht der Dateiname.xls (hier ist die Zeilennummer veränderbar).
4.) In B$2 steht die Zelladresse, z.B. $A$5 (Spalte B ist veränderbar). Das heißt, in C$2 steht z.B. $A$6 usw.
Wenn ich den Code laufen lasse wird in der Zelle B5 die richtige Formel eingetragen.
Allerdings wird beim Weiterkopieren die Formel 1:1 in alle Zellen eingetragen, d.h. die spaltenweisen und zeilenweisen Änderungen werden nicht übernommen und so steht in allen Zellen das gleiche Ergebnis.
Besten Dank für die Hilfe und Servus, Walter

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Pfad und Dateiname in FormulaLocal
17.12.2014 12:47:17
Rudi
Hallo,
ist doch klar. Du setzt den Formelstring für alle Zellen gleich zusammen.
Du wirst nicht daran vorbei kommen, die Formel per Schleife einzeln in die Zellen einzutragen (oder erst in ein Array und dann auf einen Rutsch).
Gruß
Rudi

AW: Pfad und Dateiname in FormulaLocal
17.12.2014 12:55:16
Daniel
Hi
das Konzept absoluter/relativer Zellbezug funktioniert nur in Excelformeln und nicht in VBA.
Der Range-Funktion ist es vollkommen egal, ob du Range("A1") oder Range("$A$1") verwendest, es wird immer der Wert aus der Zelle A1 gelesen.
der Workarund wäre hier folgender:
1. Erstelle die Formel mit dem externen Zellbezug zunächst nicht direkt als Formel, sondern als Formel, die einen Text erstellt, der aussieht wie die spätere Formel. Innerhalb dieser Texterstellungsformel kannst du dann die relativen Zellbezüge verwenden.
2. Ersetze dann die Textformeln durch ihren Wert mit .Formula = .Value, das ist für Excel wie eine Neueingabe und es wird die Formeln berechnen.
With wksAus.Range("B5:P21")
.Formula = "=""='""&$A$1&""\""&B$3&""\[""&$A5&""]Jahresübersicht'!""&B$2"
.Formula = .Value
End With
Beachte hierbei, dass der Text immer in der .Formula-Schreibweise geschrieben werden muss (A1-Bezüge mit englischen Funktionsnamen und dem Komma als Parametertrennzeichen, ist hier aber egal, weil sich bei einfachen Bezügen deutsche und englische Schreibweise nicht unterscheiden)
Gruß Daniel

Anzeige
Außerdem gibt's ja noch FormulaR1C1(Local)! orT
17.12.2014 13:06:11
Luc:-?
Gruß, Luc :-?

AW: Pfad und Dateiname in FormulaLocal
17.12.2014 13:06:50
Rudi
Hallo,
als Ansatz:
Sub aaa()
Dim z As Long, s As Long
Dim a(5 To 21, 2 To 16)
With wksAus
For z = 5 To 21
For s = 2 To 16
a(z, s) = "='" & .Cells(1, 1) & "\" _
& .Cells(3, s) & "\[" _
& .Cells(z, 1) & "]Jahresübersicht'!" _
& .Cells(2, s)
Next s
Next z
.Range("B5:P21").FormulaLocal = a
End With
End Sub

Gruß
Rudi

AW: Pfad und Dateiname in FormulaLocal
17.12.2014 13:11:09
WalterK
Hallo,
besten Dank den Helfern, jetzt habe ich ja einiges zum testen.
Servus, Walter

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige