online 1
gast (50)

/ Forum / Tabellenkalkulation

TabellenkalkulationTabellenkalkulation

Fragevon wjw vom 25.11.2019, 15:38 Options

Lösung

Verweis auf Zellen in anderem Blatt

Hallo!
Folgende Frage an die „Excelenten“:

In einer Mappe finden sich zwei Blätter in denen mittels Hyperlinks von bestimmten Zellen des einen auf bestimmte Zellen des anderen und zurück verwiesen werden soll. (s. unten) Das Erstellen der Zellbezüge manuell ist mir klar, aber lässt sich das automatisieren?

und so soll es sein:

Bl.1 <-> Bl.2

C2 <-> A3
E2 <-> A4
G2 <-> A5
I2 <-> A6
K2 <-> A7
...

Vielen Dank für die Hilfe!
.w


Antwort schreiben

Antwort 1 von boarder vom 25.11.2019, 15:56 Options

Hallo wjw,

kannst Du die Ansicht der beiden Blätter nicht angleichen?

D.h. beide Arbeitsblätter horizontal oder beide Arbeitsblätter vertikal.

Bsp:

Bl.1 <-> Bl.2

C3 <-> A3
C4 <-> A4
C5 <-> A5
C6 <-> A6
C7 <-> A7
...

Dann brauchts Du nur in einer Zelle den Bezug manuell herzustellen und Kannst anschließend die Formel kopieren.

Gruß boarder

Antwort 2 von wjw vom 25.11.2019, 16:01 Options

hallo boarder,

ja, wenn das ginge, wärs ja einfach. Leider muß diese Struktur aber so bleiben! Danke trotzdem.

.w

Antwort 3 von wjw vom 27.11.2019, 09:58 Options

hallo Leute,

ich bin nochmal so frei ...

ist das wirklich sooo schwierig? Niemand ne Idee?

Gruß+Dank,

.w

Antwort 4 von coros vom 27.11.2019, 10:35 Options

Hallo wjw,

eventuell liegt es ja daran, dass niemand so richtig verstanden hat, was genau Du möchtest. Jedenfalls geht es mir so. Ich habe nicht verstanden, was Du möchtest.

Erklär das doch bitte mal an einem Beispiel, was Du meinst.

MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du
ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 5 von wjw vom 27.11.2019, 11:25 Options

ok, danke coros für das feed back.

also ich möchte mittels Link (innerhalb Excel heißt das vielleicht anders)
bei Anklicken einer bestimmten Zelle in Blatt 1 zu einer bestimmten Zelle in Blatt2 gelangen (und von dort mittels Klick auch wieder zurück). Soweit, so einfach. Diesen "link" kann ich manuell eingeben (Rechtsklick->Hyperlink-> etc.)

Da ich jedoch sehr viele solcher links einfügen muss, suche ich nach einer Lösung, die das Verfahren beschleunigt. Das wird durch die Tatsache erschwert, dass diese Zellbezüge nicht einem einfachen Muster folgen, sondern in Blatt 1 stehen alle in der gleichen Zeile (sagen wir in 2) aber nicht in angrenzenden Spalten, sondern in der übernächsten, also in C, E, G, I, K usw., die Ziele auf Blatt2 sind dann aber in einer Spalte untereinander. Also:

[Bl.1 <-> Bl.2]
C2 <-> A3
E2 <-> A4
G2 <-> A5
I2 <-> A6
K2 <-> A7

ist das Problem jetzt verständlicher?
sorry, wenn ich unpräzise war.

Dank+Gruß,

.w

Antwort 6 von coros vom 27.11.2019, 11:50 Options

Hallo wiw,

sorry, aber mir fällt dazu im Moment leider nichts Produktives ein, da ich das so sehe, dass ein Automatismus für dieses Problem nicht erstellt werden kann. Denn woher soll das Makro wissen, welches Blatt aufgerufen und welche Zelle beim Anklicken einer anderen Zelle markiert werden soll? Wenn es eine Regelmäßigkeit irgendwo in Deiner Datei gäbe, die ich aber bei dem was Du schreibst, eher nicht sehe, könnte man da sicherlich etwas über eine Schleife realisieren. Aber wenn die Daten, die man für die Links benötigt, wild im Tabellenblatt vorkommen, geht das nicht.

Sollte da niemand eine Idee haben, wird Dir wohl nichts anderes als Handarbeit übrig bleiben.

MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du
ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
,

Antwort 7 von rainberg vom 27.11.2019, 15:15 Options

Hallo wjw,

folgender Code fügt Dir in Zeile 2 von Tabelle1 (jede 2. Spalte) einen Hyperlink ein, der zu Tabelle2 Spalte A, beginnend ab A3 springt.

Option Explicit

Sub Test()
Dim intI As Integer, intZ As Integer
Dim ws1 As Worksheet, ws2 As Worksheet
Set ws1 = Worksheets("Tabelle1")
Set ws2 = Worksheets("Tabelle2")
intZ = 3
For intI = 3 To 20 Step 2
Cells(2, intI).Select
ws1.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _
"Tabelle2!A" & intZ, TextToDisplay:="A" & intZ
intZ = intZ + 1
Next
End Sub


Den Endwert der For-Next-Schleife (20) kannst Du nach Bedarf anpassen.

Gruß
Rainer

Antwort 8 von coros vom 27.11.2019, 15:24 Options

Hallo Rainer,

ich glaube ich war heute vormittag schon das erste mal wieder müde. Irgendwie hatte ich nicht richtig verstanden, wie die Frage gemeint war, bzw. anders interpretiert. Durch Dein Makro habe ich es jetzt aber gerafft und das Makro sollte das machen, was sich wjw vorgestellt hat.

Schönen Gruß, von dem nun aber wieder aufgeachten Oliver. ;-)
Jeder macht was er will, keiner macht was er soll, aber alle machen mit.

Antwort 9 von rainberg vom 27.11.2019, 15:42 Options

Hallo Oliver,

da kannst Du ja gleich den Rücksprung von den Zellen der Tabelle2 zu den Zellen der Tabelle1 noch programmieren, dann ist die Sache komplett.
Hab im Moment keine Zeit.

Gruß
Rainer

Antwort 10 von wjw vom 27.11.2019, 17:29 Options

na, da seh ich doch Licht!

Danke Rainer und auch dir Oliver fürs anscheinend produktive pennen ;-}

Natürlich muss ich euch noch gestehen, dass ich von all dem was ihr schreibt nicht wirklich Ahnung habe. Werde mich aber damit befassen und versuchen zu verstehen, worum es geht.

Die Sache mit dem Rücksprung wäre allerdings wirklich sehr nett, wenn da nochmal jemand weiterhelfen könnte?

Also vielen Dank noch mal an alle Beteiligten. ich probier mal rum und melde mich wieder.

Gruß,

Werner

Antwort 11 von rainberg vom 27.11.2019, 19:19 Options

Hallo Werner,

habe Dir den Rücksprung noch dazu gebastelt.

In einer Inputbox kannst Du eingeben, wieviel Hyperlinks Du erzeugen willst.

Oliver hätte es vielleicht eleganter gamacht, aber was soll's, es läuft.

Option Explicit

Sub Test()
Dim intI As Integer, intZ As Integer, intAnz As Integer
Dim ws1 As Worksheet, ws2 As Worksheet
Set ws1 = Worksheets("Tabelle1")
Set ws2 = Worksheets("Tabelle2")
intAnz = InputBox("Wieviel Hyperlinks?") + 2
intZ = 3
ws1.Select
For intI = 3 To (intAnz - 1) * 2 Step 2
Cells(2, intI).Select
ws1.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _
"Tabelle2!A" & intZ, TextToDisplay:="A" & intZ
intZ = intZ + 1
Next
ws2.Select
For intI = 3 To intAnz
Cells(intI, 1).Select
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _
"Tabelle1!" & Chr(60 + intI * 2 + 1) & "2", TextToDisplay:=Chr(60 + intI * 2 + 1) & "2"
Next
End Sub


Gruß
Rainer

Antwort 12 von wjw vom 27.11.2019, 23:17 Options

Hallo Rainer,


besten Dank für deine Mühe! Leider kann ich nicht so viel damit anfangen.

Hab also dein Makro(?) kopiert und in meine Datei eingefügt.
(Alt+F11 dann in beide Blätter)

Leider müscht!

Da ich jetzt so nicht weiter komme, habe ich die Datei: test_wjw.xls mal von allen unnötigen Daten gesäubert und veröffentlicht:
http://www.netupload.de/detail.php?img=61c6ccf2cb9273662527051770ca...
Die Struktur ist aber erhalten; ich möchte also in Tabelle1 per Klick von den Zellen mit fortlaufenden Ziffern (in Zeile2) zur jeweils gleichen Ziffer (Spalte1) im anderen Blatt springen können und zurück. Aber das war ja schon klar.

Eine genauere Anleitung dazu würde mir doch sehr weiterhelfen.

Vielen Dank nochmal,

werner

Antwort 13 von rainberg vom 27.11.2019, 23:53 OptionsLösung

Lösung
Hallo Werner,

habe Dir das Makro eingebaut und einen Startbutton eingefügt.
Nach dem Starten kannst Du in der InputBox eingeben wieviel Hyperlinks eingefügt werden sollen.
Ich hatte das Makro noch mal geändert, weil es bei mehr als 26 Hyperlinks logischerweise falsche Spaltenbuchstaben geliefert hat.


http://www.netupload.de/detail.php?img=54838eb14d6da72f34907901307d...

Gruß
Rainer

Antwort 14 von wjw vom 28.11.2019, 00:14 Options

wow!!

das flutscht ja ganz schön!
alle Achtung und besten Dank, Rainer.

eine Kleinigkeit tät ich mir noch wünschen:

ist es denn auch möglich in den verlinkten Zellen einfach nur 1, 2, 3, usw. drinstehen zu haben, oder muss ich dafür eine Hilfszeile/-spalte benutzen?

Nochmal vielen, vielen Dank für deine schnelle Hilfe,

Gruß,

.w

Antwort 15 von rainberg vom 28.11.2019, 07:35 Options

Hallo Werner,

das ist kein Problem, im Gegenteil, das vereinfacht den Code sogar noch.
Lösche den alten Code gänzlich und füge den folgenden dafür ein.

Option Explicit

Sub Test()
   Dim intI As Integer, intZ As Integer, intAnz As Integer
   Dim ws1 As Worksheet, ws2 As Worksheet
   Set ws1 = Worksheets("2007")
   Set ws2 = Worksheets("Übersicht")
   intAnz = InputBox("Wieviel Hyperlinks?") + 2
   intZ = 3
   Application.ScreenUpdating = False
   ws1.Select
   For intI = 3 To intAnz * 2 - 2 Step 2
      Cells(2, intI).Select
        ws1.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _
        "Übersicht!A" & intZ, TextToDisplay:="" & intZ - 2
        intZ = intZ + 1
   Next
   ws2.Select
   For intI = 3 To intAnz
      Cells(intI, 1).Select
      ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:="2007!" _
      & intI, TextToDisplay:="" & intI - 2
   Next
   ws1.Select
   Range("A5").Select
   Application.ScreenUpdating = True
End Sub


Gruß
Rainer

Antwort 16 von wjw vom 28.11.2019, 09:25 Options

Guten Morgen, Rainer

danke für die schnelle Antwort. Hast du's ausprobiert? Bei mir läufts nicht ganz rund: Von Tab1 zu Tab2 kein Problem aber beim Rücksprung kommt immer die Meldung "Bezug ist ungültig" Die Quickinfo zeigt, dass bei der "Adresse" kein Buchstabe, sondern nur eine Zahl drin ist.

Da stimmt noch was nicht ganz.

Gruß, Werner

Antwort 17 von rainberg vom 28.11.2019, 10:25 Options

Hallo Werner,

sorry, das war ein Irrtum meinerseits und noch dazu ungetestet.

Jetzt habe ich getestet.

http://www.netupload.de/detail.php?img=6a38506103c4569659bb30cc61ee...

Gruß
Rainer

Antwort 18 von wjw vom 28.11.2019, 16:18 Options

Entschuldige Rainer, wenn ich dich nochmal nerve!
Ich bin sicher du kannst mir noch zwei Petitessen ausbügeln:

1. in deiner letzten Datei funktioniert zwar das Hin und Her sehr gut, aber leider beginnt die Liste die durch das Makro erstellt wird mit "3" und ich habe es nicht geschafft das zu ändern. Also alles ist ok wie es ist, aber statt 3, 4, 5, ... sollte (beginnend an der gleichen Stelle, also C2 bzw. A3) 1, 2, 3, ... stehen.
Ist das möglich? und wo genau ist das im Code definiert?

2. Ich habe versucht deinen Code in eine angepasste Datei zu kopieren und habe wegen der Umbennung des Blattes in "2008" zwei Stellen im Code von "2007" zu "2008" geändert (unten fett markiert). Trotzdem geht dann der Rücksprung nicht mehr. Was hab ich da falsch gemacht?

Option Explicit

Sub Test()
    Dim intI As Integer, intZ As Integer, intAnz As Integer
    Dim ws1 As Worksheet, ws2 As Worksheet
    Set ws1 = Worksheets("[b]2008[/b]")
    Set ws2 = Worksheets("Übersicht")
    Application.ScreenUpdating = False
    Range("A2003").FormulaR1C1 = "=SUBSTITUTE(ADDRESS(1,COLUMN(),4),1,"""")"
    Range("A2002").FormulaR1C1 = "=COLUMN()"
    Range("A2002:A2003").Copy
    Rows("2000:2001").Select
    ActiveSheet.Paste
    intAnz = InputBox("Wieviel Hyperlinks?") + 2
    intZ = 3
    ws1.Select
    For intI = 3 To intAnz * 2 - 2 Step 2
        Cells(2, intI).Select
        ws1.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _
        "Übersicht!A" & intZ, TextToDisplay:="" & intZ
        intZ = intZ + 1
    Next
    ws2.Select
    For intI = 3 To intAnz
        Cells(intI, 1).Select
        ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:="[b]2008[/b]!" _
        & WorksheetFunction.HLookup(intI * 2 - 3, Rows("2000:2001"), 2, 0) & "2", _
        TextToDisplay:="" & intI
    Next
    ws1.Select
    Rows("2000:2003").Clear
    Range("A5").Select
    Application.ScreenUpdating = True
End Sub



Nochmal 1000Dank!

w.

ich würd dir ja die Datei schicken, die ist jetzt aber nicht mehr "leer" und irgendwann muss ich's ja auch mal selbst hinkriegen! ;-}

Antwort 19 von rainberg vom 28.11.2019, 16:39 Options

Hallo Werner,

folgender Code ist an 4 Stellen geändert (fett markiert) und getestet.

Option Explicit

Sub Test()
    Dim intI As Integer, intZ As Integer, intAnz As Integer
    Dim ws1 As Worksheet, ws2 As Worksheet
    Set ws1 = Worksheets("[b]2008[/b]")
    Set ws2 = Worksheets("Übersicht")
    Application.ScreenUpdating = False
    Range("A2003").FormulaR1C1 = "=SUBSTITUTE(ADDRESS(1,COLUMN(),4),1,"""")"
    Range("A2002").FormulaR1C1 = "=COLUMN()"
    Range("A2002:A2003").Copy
    Rows("2000:2001").Select
    ActiveSheet.Paste
    intAnz = InputBox("Wieviel Hyperlinks?") + 2
    intZ = 3
    ws1.Select
    For intI = 3 To intAnz * 2 - 2 Step 2
        Cells(2, intI).Select
        ws1.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _
        "Übersicht!A" & intZ, TextToDisplay:="" & intZ [b]- 2[/b]
        intZ = intZ + 1
    Next
    ws2.Select
    For intI = 3 To intAnz
        Cells(intI, 1).Select
        ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:="[b]2008[/b]!" _
        & WorksheetFunction.HLookup(intI * 2 - 3, Rows("2000:2001"), 2, 0) & "2", _
        TextToDisplay:="" & intI [b]- 2[/b]
    Next
    ws1.Select
    Rows("2000:2003").Clear
    Range("A5").Select
    Application.ScreenUpdating = True
End Sub


Gruß
Rainer

Antwort 20 von wjw vom 28.11.2019, 16:45 Options

super!!!

ganz herzlichen Dank.

Gruß, .w

Ähnliche Themen

2 Zellen in Tabellenblatt 1in Tabellenblatt 2 automatisch übernehmen
shayenne27  17.10.2007 - 90 Hits - 7 Antworten

Excel tabellen verweis
geppi85  04.02.2008 - 105 Hits - 5 Antworten

nachtstunden in mehren bereichen ausrechnen????
dieter2000  04.04.2008 - 78 Hits - 1 Antwort

Verweis auf Zellen mit Formeln
Rallf82  27.04.2008 - 68 Hits - 1 Antwort

Excel: Funktion Verweis mit Text statt Zahlen
Berty  11.06.2008 - 46 Hits - 6 Antworten

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Mon Jan 26 01:23:17 2026