Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1136to1140
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

dynimische Zeilverweis? (Office 2002)

dynimische Zeilverweis? (Office 2002)
Josef
Hallo zusammen
Ich habe mich gerade neu angemeldet weil ich eine Lösung suche.
Ich habe eine Tabelle die als Formular zum handschriftlichen Ausfüllen gedacht ist (ca. 50 Blätter)
Jedes Blatt wird aus einer anderen Tabelle (Spezifikationen-alle.xls/Eingabe) mit Daten versorgt (50 Zeilen)
In den einzelnen Blättern hole ich die Daten mit folgender Formel.
='[Spezifikationen-alle.xls]Eingabe'!$H$47 (H steht für das Feld und die 47 steht für die Zeile 47)
Wenn ich nun ein Blatt kopiere (Formular 48) dann müßte ich jede Formel auf 48 ändern - dann werden die Daten aus der 48 Zeile genommen.
Wie könnte ich es anstellen, dass beim Kopieren auch auf die nächste Zeile (48) gesprungen wird.
Ich habe mit meinen spärlichen Kenntnissen versucht in den jeweiligen Blättern die Zeilen-Nr anzugeben und diese mit & zu verknüpfen. Doch ist mit dies nicht gelungen.
Vielen Dank für eine einfache Lösung.
Josef
AW: mach aus $H$47 einfach H47 oT
15.02.2010 15:00:32
JOWE
AW: mach aus $H$47 einfach H47 oT
15.02.2010 15:10:35
Josef
Leider kommt dann ein Fehlermeldung. Für was steht oT?
AW: mach aus $H$47 einfach H47 oT
15.02.2010 15:13:46
JOWE
oT = ohne weitern Text.
Kannst Di eine Beispieldatei hochladen?
Gruß
Jochen
AW: mach aus $H$47 einfach H47 oT
15.02.2010 15:41:26
Josef
Hallo Jochen
Ich habe ein Muster hochgeladen.
Er einzige Unterschied ist, dass es sich beim Original um eine eigene Tabelle und nicht wie im Beispiel nur um ein Tabellenblatt handelt. Aber dass dürfte nicht das Problem sein.
https://www.herber.de/bbs/user/68017.xls
LG Josef
AW: mach aus $H$47 einfach H47 oT
15.02.2010 16:36:18
JOWE
Hatte dein erstes Posting falsch verstanden, sorry.
Beim kopieren eines Bereiches der einen Tabelle in den gleichen Bereich einer zweiten Tabelle kann sich da nichts dynamisch anpassen. Das mußt Du schon selbst regeln oder mittels Makro erledigen lassen, z.B. so:
Sub kopieren()
Dim sh As Worksheet
Dim i As Long
Set sh = ActiveSheet
On Error GoTo F_TRAP
For i = 3 To sh.[A3].End(xlDown).Row
Sheets.Add after:=Sheets(Sheets.Count)
ActiveSheet.Name = Format(i - 2, "00")
With Cells(1, 1)
.Value = "Zeile:"
.Interior.ColorIndex = 15
.Interior.Pattern = xlSolid
End With
Cells(1, 2) = i
With Cells(3, 1)
.Value = "Farbe:"
.Interior.ColorIndex = 15
.Interior.Pattern = xlSolid
End With
Cells(3, 2) = sh.Cells(i, 1)
With Cells(5, 1)
.Value = "Datum:"
.Interior.ColorIndex = 15
.Interior.Pattern = xlSolid
End With
Cells(5, 2) = sh.Cells(i, 2)
Cells(5, 2).NumberFormat = "dd.MM.yyyy"
With Cells(7, 1)
.Value = "Betreuer:"
.Interior.ColorIndex = 15
.Interior.Pattern = xlSolid
End With
Cells(7, 2) = sh.Cells(i, 3)
With Cells(9, 1)
.Value = "xy:"
.Interior.ColorIndex = 15
.Interior.Pattern = xlSolid
End With
Cells(9, 2) = sh.Cells(i, 4)
Next
Exit Sub
F_TRAP:
Resume
End Sub

Für Deine hochgeladene Datei hieße das:
die Blätter 01, 02, 03 löschen.
Den Code in ein neues Modul kopieren und anschließend ausführen.
Das Makro schreibt die Tabellenblätter anhand der Zeilen 3 bis (bis zur letzten gefüllten Zelle der Spalte A).
Der Inhalt der Tabellen sieht dann so aus wie in Deinem Beispiel, allerdings stehen in den Zellen dann die übertragenen Werte und keine Formeln mehr.
Gruß
Jochen
Anzeige
so kann man das nicht sagen,...
15.02.2010 17:03:29
Björn
Hallo Jochen,
Beim kopieren eines Bereiches der einen Tabelle in den gleichen Bereich einer zweiten Tabelle kann sich da nichts dynamisch anpassen.
Das stimmt einfach nicht... z.B. man kann sehr wohl Bereiche dynamisch anpassen. Z.B. kann man sich Formeln über den Blattnamen zusammensetzen. Man muss dann nur die Blätter entsprechend benennen.
Das ist zwar umständlich und nicht immer umsetzbar, aber so pauschal wie Du das behauptest lasse ich das nicht gelten ;-)
Es ist definititv möglich!
Gruß
Björn B.
mit der Funktion INDIREKT...
15.02.2010 16:43:24
Björn
Hallo Josef,
was Du brauchst, ist die Funktion INDIREKT.
Damit kannst du dir einen Zellbezug variabel aus Textbausteinen zusammensetzen.
Ich versuche es ein bisschen zu erklären anhand Deiner Beispielmappe, für genaue Erklärung von INDIREKT schau bitte in die Excel-Hilfe!
In Deiner Mappe gibt es ein Blatt 01. In B1 hast Du die Zeilennummer 5 angegeben, in den Formeln verweist du aber immer auf Zeile 3. Da in Zeile 3 die richtigen Werte stehen, passen wir als ersten den Wert in B1 an. Hier muss also 3 stehen.
Deine Formel in A3 lautet: =Eingabe!A3
Die 3 soll nun Variabel aus der Zelle B1 kommen, der Rest ist fix.
Mit Indirekt umgesetzt sieht das ganze dann so aus:
=INDIREKT("Eingabe!A"&B1)
"Eingabe!A" steht in Anführungszeichen, wird also so 1:1 übernommen. Das & ist das VERKETTEN-Symbol und danach der Zellbezug B1.
Wenn Du jetzt die Formeln alle mit INDIREKT so machst, und dann das Blatt kopierst, musst Du nur noch die Zeilennummer in B1 anpassen.
Noch Fragen?
Gruß
Björn B.
Anzeige
noch besser... über Blattnamen
15.02.2010 17:09:57
Björn
Hallo Josef,
ich habe sogar noch was gefunden, wie Du die Zeilenangabe in B1 weglassen kannst.
Wenn Du die Blätter immer so benennst, wie die Zeile heißen muss, dann kannst du den Blattnamen als variable nehmen.
Also wieder Bsp anhand Deiner Mappe. Wenn Du das Blatt 01 umbenennst in 03 oder 3, dann kannst Du über dir Formel:
=TEIL(ZELLE("Dateiname";$A$1);FINDEN("]";ZELLE("Dateiname";$A$1))+1;31)
den Blattnamen ermitteln (ACHTUNG: Datei muss gespeichert sein, sonst kommt Fehler, da die Formel den Blattnamen aus dem Dateinamen holt und so lange nicht gespeichert wurde gibt es keinen Dateinamen).
Das ganze mit in erste Formel eingebaut währe dann:
=INDIREKT("Eingabe!A"&TEIL(ZELLE("Dateiname";$A$1);FINDEN("]";ZELLE("Dateiname";$A$1))+1;31)
)

Das ist doch ne schöne Formel, oder ;-)
Übrigens die Formel für Blattname ist nicht auf meinem Mist gewachsen: www.excelformeln.de
Gruß
Björn B.
Anzeige
AW: Danke für die Belehrung, Du hast ja recht oT
16.02.2010 08:21:07
JoWE
war nicht böse gemeint... oT
16.02.2010 08:39:33
Björn
AW: mit der Funktion INDIREKT...
15.02.2010 19:35:48
Josef
Danke Björn und Jochen
Habe wirklich die falsche Zeilen-Nr. angeführt, weil ich noch schnell zwei Zeilen gelöscht habe.
Deine Formel funktioniert super in der Musterdatei.
Die Originalformel die ich bisher immer ändern mußte lautet folgendermaßen.
='[AA-005-xx-Prod-spezi-alle.xls]Eingabe'!$F$61
Diese Formel habe ich nun mit indirekt angepasst und funktioniert auch schon.
=INDIREKT("'[AA-005-xx-Prod-spezi-alle.xls]Eingabe'!$F"&A1)
----------
Jetzt habe ich noch ein Feld in dem ich schon eine Verknüpfung mit einem vorangestellten Text habe. Dort weiß ich jetzt nicht wie ich die Formel anpassen soll.
="F-022-"&'[AA-005-xx-Prod-spezi-alle.xls]Eingabe'!$E$61
Vielen, vielen Dank für Eure Unterstützung.
Josef
PS. Die Schöne Formel mit den Blattnahmen ist mir doch zu heftig.
Aber Danke noch einmal.
Anzeige
Du denkst zu kompliziert ;-)
16.02.2010 07:51:23
Björn
Guten Morgen Josef,
ist eigentlich ganz einfach...
Du darfst dich von der INDIREKT Formel nicht erschrecken lassen... die macht genau das gleich wie eine "normale Verknüpfung". Du kannst das nach wie vor ganz normal verketten...
Das war Deine Formel:
="F-022-"&'[AA-005-xx-Prod-spezi-alle.xls]Eingabe'!$E$61
Wenn auch hier die Zeilennummer aus Zelle A1 kommt, dann muss die Indirekt-Formel so aussehen:
="F-022-"&INDIREKT("'[AA-005-xx-Prod-spezi-alle.xls]Eingabe'!$E"&A1)
Du musst hier nur (wie bei der ersten Formel, die du ja schon richtig umgestellt hast) die Verknüpfung anpassen. Was Du danach mit dem ermittelten Wert machst ist völlig egal. Du kannst ganz normal damit rechnen, Verketten oder was immer du möchtest.
Gar nicht so schwer, oder ;-)
Gruß
Björn B.
Anzeige
AW: Du denkst zu kompliziert ;-)
16.02.2010 10:31:13
Josef
Hallo Björn
Vielen Dank noch einmal für die Formel.
Ich habe gestern noch ein wenig herumprobiert und bin auch schon zu dem Ergebnis gekommen.
Mein Problem ist, dass ich mir Excel nur selbst angelernt habe und ich mit der Syntax in der Excel Hilfe nicht ganz so recht viel anfangen kann. Ich kann halt nur das was ich ständig brauche. Bei anstehenden Problemen weiß ich dann mal nicht mit welcher Funktion ich dies lösen kann. Aber durch Deine/Eure professionelle Unterstützung kann ich viel lernen..
Noch einmal Vielen Dank für die prompte Hilfe.
Vergelt's Gott und LG
Josef
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige