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 21 von wjw vom 29.11.2019, 00:19 Options
Guten Abend,
vor allem an Rainer, aber natürlich auch an alle anderen:
dein Makro funzt wunderbar, deshalb wollte ich dich auch bei der Lösung eines andern Problems mit dieser Datei um Rat bitten.
Vor einiger Zeit hatte ich deshalb hier schon mal gepostet
http://www.supportnet.de/threads/1266072 dort
Punkt 2 (Punkt 3 ist dank Rainer mitterweile gelöst)
und von
event ein Makro bekommen, das nie so richtig gut lief. Dabei ging es darum, die doppelte Vergabe einer Auftragsnummer zu verhindern.
Ich habe eine Datei vorbereitet,
http://www.netupload.de/detail.php?img=4238c52a635071e189971df00620...in der alles Weitere genau erklärt ist. Kann mir jemand bitte erklären, warum sich dieses Makro so kapriziös verhält?
Vielen Dank an alle, die sich die Mühe machen zu helfen.
Viele Grüße,
.w
Antwort 22 von rainberg vom 29.11.2019, 08:15 Options
Hallo Werner,
zu Pkt. 1 habe ich keine Lösung
zu Pkt. 2 brauchst Du kein Makro, das geht mit der Gültigkeitsprüfung
Gehe wie folgt vor:
- markiere die gesamte Spalte F
- klicke auf Menü > Daten > Gültigkeit
- wähle unter "
Zulassen: " die Option "
Benutzerdefiniert"
- trage unter "
Formel: " folgende Formel ein und klicke auf "
OK"
=ZÄHLENWENN(F$1:F1;F1)=1Habe das Zelformat in Spalte F geändert in
0000" "####Die Eingaben müssen
ohne führende Null(en) und
ohne Leerzeichen erfolgen.
Habe schon allen in die Datei eingebaut.
http://www.netupload.de/detail.php?img=48c816ca8fe6e1f96347528349a0...Gruß
Rainer
Antwort 23 von wjw vom 29.11.2019, 10:58 Options
Moin Rainer,
vielen Dank! Ok die Gültigkeitsprüfung kannte ich nicht. So richtig schön finde ich aber das noch nicht, denn jetzt muß man die Meldung noch wegklicken, da ein völlig sinnloses "wiederholen" angeboten wird. Geht das irgendwie schlichter?
Wie müsste ich denn die Formel anpassen, wenn ich sie auf die Zeile 2 (ab C bis Ende) anwenden wollte?
Anders gefragt: wofür stehen in der Formel "F$1", "F1" und "1"
Übrigens: Gibt es eine Möglichkeit bei der Eingabe den Leerschritt irgendwie bezuhalten? Die führende Null scheint jedenfalls nicht zu stören.
Vielen Dank und Grüße,
.w
Antwort 24 von rainberg vom 29.11.2019, 11:56 Options
Hallo Werner,
wenn Dich die Meldung der Gültigkeitsprüfung stört, dann bleibt doch nur ein Makro.
Folgender Code funktioniert, wenn das Leerzeichen mit eingegeben wird.
Sollte eine führende Null gewünscht werden, wenn der vordere Teil nur aus drei Zahlen besteht, muss diese ebenfalls mit eingegeben werden.
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim strNeu As String
If Not Intersect(Target, Range("F:F")) Is Nothing Then
strNeu = Target.Value
If WorksheetFunction.CountIf(Range("F:F"), strNeu) = 2 Then
Target.Value = ""
Exit Sub
Else
Target.Value = strNeu
End If
End If
End Sub
http://www.netupload.de/detail.php?img=75eb5c57c5065882163b7a6e1ca2...Die Formel für Deine Anschlussfrage lautet:
=ZÄHLENWENN($C$2:$IV$2;A2)=1Gruß
Rainer
Antwort 25 von wjw vom 29.11.2019, 13:05 Options
ich bin in deiner Schuld, Rainer!
danke, dass du dir die Mühe machst.
Ich habe deinen Code angepasst und weiterverwendet; das Ergebnis verstehe ich jetzt gar nicht mehr! Schaust du bitte noch mal rein? Alles weitere steht in der Datei.
http://www.netupload.de/detail.php?img=9dc49ca86f0d58411be5eaf19392...Bitte entschuldige meinen ausgeprägten Hang zum Perfektionismus.
(Du sagst einfach, wenn's dir reicht)
Viele Grüße,
.w
Antwort 26 von rainberg vom 29.11.2019, 15:11 Options
Hallo Werner,
ich glaube hier liegt ein Missverständnis vor.
Das Makro führt in Spalte F keine Korrekturen aus sondern verhindert lediglich die Eingabe einer bereits vorhandenen Nummer.
Und so habe ich eigentlich auch Deine Frage verstanden.
Bei gleicher Eingabe wird diese also wieder gelöscht, denn das Makro kann ja nicht wissen, was es nun korrigieren sollte.
Eine weitere Frage wäre, warum willst Du die gleichen Nummern im Blatt "2008" Zeile 1noch mal eingeben, sie könnten doch per Formel aus dem Blatt "Übersicht" übernommen werden???
Die gleiche Prozedur wäre auch umgekehrt möglich, müsstest Dich nur entscheiden in welchem Blatt Eingabe / Übernahme erfolgen sollen.
Weiterhin wäre es schön, wenn Du Dich entscheiden könntest, wie das Eingabeformat der Zahlen endgültig aussehn soll.
Günstig wäre, wie ich es Dir bereits geschrieben habe.
Ich warte jetzt erst mal Deine Antworten ab.
Gruß
Rainer
Antwort 27 von wjw vom 29.11.2019, 17:33 Options
Hallo Rainer,
danke für deine Nachricht; ja, tatsächlich hab ich mich wohl missverständlich ausgedrückt.
Natürlich wollte ich keine Korrektur der 8stelligen Nr. per Makro; über die Formatierung hatte ich mir nur die Eingabe der Leerstelle erspart. Das Format sollte am Ende immer xxxx_xxxx sein, wobei die erste Stelle oft eine 0 sein muss.
Dein Makro sollte nur die Doppeleingabe verhindern, was ja auch auf dem Blatt "Übersicht" wunderbar funktioniert. Natürlich kann ich bei der manuellen Eingabe die dafür notwendigen Regeln (mit oder ohne Leerstelle) beachten.
(Da mehrere Benutzer am Werk sind, wäre es aber am Bequemsten wenn das Makro beide Varianten verarbeiten könnte und die Formatierung unabhängig davon für den Rest sorgte - aber das ist vielleicht zu viel verlangt.)
Als ich das Makro rüberkopiert hatte (nach 2008), war aber dort das Eingabeverfahren nicht mehr eindeutig, will heißen: mit der gleichen Methode hatte ich bei den beiden Typen der Nummern (führende 0 oder nicht) verschiedene Ergebnisse oder das Makro funktionierte nicht wie gewünscht! Das lag wahrscheinlich an einem Fehler bei der Anpassung des Makros.
Die Idee per Formel aus "Übersicht" zu übernehmen ist natürlich die beste Lösung, aber auch da hab ich keine Ahnung wie das geht. Hier stellte sich mir das gleiche Problem wie ganz zu Anfang mit den Hyperlinks.
Wenn ich das jetzt verständlicher machen konnte und du noch ein letztes Mal Hand anlegtest, bitte?
Vielen herzlichen Dank und liebe Grüße,
werner
Antwort 29 von rainberg vom 30.11.2019, 08:07 Options
Hallo Werner,
bevor Du mir sagst, dass die Berechnungen in der letzten Datei nur zeitverzögert erfolgen (was ich auch gemerkt habe), anbei noch eine Variante bei der die Auftragsnummern per Makro übertragen werden.
Du kannst das Makro immer dann starten, wenn Du in Spalte F eine Änderung vorgenommen hast.
Bei dieser Gelegenheit habe ich noch bemerkt, dass Du für die horizontale Summenbildung eine äußerst komplizierte und fehlerträchtige Monsterformel verwendest.
Ich habe Dir im roten Feld eine Formel eingetragen, die das Gleiche auf elegantere Art macht.
Diese Formel kannst Du auch für die anderen Summen verwenden, brauchst nur den zutreffenden Zeilenindex anzupassen.
http://www.netupload.de/detail.php?img=65882d1136868a29ba1d9d76da27...Gruß
Rainer
Antwort 30 von wjw vom 30.11.2019, 09:46 Options
Vielen Dank, Rainer!
ich werde mir jetzt alle deine Verbesserungen in Ruhe ansehen müssen, komme dazu aber nicht vor Montag.
Die Datei von gestern war schon eine große Hilfe!
Viele Grüße,
.w