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

Hinweis für Werte eines anderen Blattes anzeigen

Hinweis für Werte eines anderen Blattes anzeigen
05.10.2018 09:53:37
EasyD
Hallo liebe Leute,
ich bin wieder auf Ideen-Sammlung (man verzeihe mir den recht vagen Betreff dieses Beitrages):
Meine Ausgangslage:
Ich habe 3 identisch aufgebaute Blätter (Tabelle1, 2 und 3). Spalte 1 mit Bezeichnungen, Zeile 1 mit Überschriften. In der Matrix dazwischen stehen auf der Tabelle1 Werte, auf der Tabelle2 ist die Matrix in der Ausgangslage komplett leer. In Tabelle3 will ich Tabelle1 und 2 zusammen addieren. So weit so einfach.
Tabelle1 und Tabelle3 sind komplett gesperrt. Nur in Tabelle2 sollen in der leeren Matrix Werte eingegeben werden. Nun ist es aber so, dass in Tabelle1 nicht die komplette Matrix mit Werten befüllt ist, die Werte sind verstreut, einige Zellen sind leer. Diese leeren Zellen ergeben deshalb auf Tabelle3 als Summe natürlich 0 aus Tabelle1 zzgl den erfassten Wert aus Tabelle2.
Mein Wunsch wäre, in Tabelle2 diejenigen Zellen irgendwie hervor zu heben, für die in Tabelle1 kein Wert steht. Bin offen für so ziemlich alles.
Ich könnte mir vorstellen, in jede Zelle der Tabelle2 einfach einen Kommentar anzufügen wenn in Tabelle1 nichts steht. Ggf auch anders rum (den Hinweis in Tab2 für die befüllten Zellen aus Tab1). Vielleicht besser auch noch "nur" sowas wie einen Tool-Tip wenn ich in Tabelle2 in eine Zelle klicke für die die entsprechende Zelle in Tabelle1 leer ist. Eine Bedingte Formatierung erscheint mir zu aufwendig/speicherintensiv - wir reden über eine Matrix von 2000 Zeilen und 20 Spalten - daher ist auch eine möglichst schlanke Lösung notwendig.
Sollte man das im Worksheet_SelectionChange der Tab2 lösen? KLingt mir auch recht rechenintesiv bei einem so großen Bereich. Abgesehen davon mache ich in dieser Prozedur auf Tab2 schon einige andere Sachen die Zeit in Anspruch nehmen (Zeilen ein- und ausblenden etc). Am genialsten fände ich sowas wie ein MouseOver für die Zellen in Tab2, aber alles was meine google-Suche dazu bisher ergeben hat, hat mich eher abgeschreckt.
Ideen dazu? Ich brauche nur den Denkanstoss in die richtige Richtung....

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Hinweis für Werte eines anderen Blattes anzeigen
05.10.2018 14:22:35
Rob
Bei so vielen Zeilen x Spalten würde ich auf jeden Fall mit Arrays arbeiten. Performance sollte dann kein Problem sein. Lad doch mal ne Datei hoch.
AW: Hinweis für Werte eines anderen Blattes anzeigen
05.10.2018 14:42:41
EasyD
aber gerne doch
hab mal testweise was gebastelt.
Bsp:
In meiner Datei dürfte bei Eingabe in Tab2, Zelle C5 keine Meldung kommen (weil in Tab1 ein Wert steht)
In Tab2, Zelle C6 aber sehr wohl.
Tabelle3 ist nur "Beiwerk". Mein Ziel ist es den Benutzer darauf hinzuweisen, dass er bei Eingabe in Tab2 C6 aus dem Tab1 C6 den Wert 0 in Tab3 C6 addiert, er also einfach seinen Eingabewert aus Tab2 in Tab3 wieder finden wird.
Was arrays angeht - kannst du mir bitte auf die Sprünge helfen?
noch ein ABER:
eine Behelfslösung habe ich mir zwischenzeitlich gebastelt. Ist aber nicht wirklich zufrieden stellend - Code in Tabelle2:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Range
'Eingabebereich - hier an meinem live-Bsp:
Set i = ActiveSheet.Range("C302:R400, C402:R500, C502:R600, C602:R700, C704:R802, C804:R902,  _
C906:R1004, C1006:R1104, C1108:R1206, C1208:R1306, C1308:R1406, C1408:R1506, C1508:R1606, C1608:R1706, C1708:R1806, C1808:R1906, C1908:R2005, C2009:R2106")
ActiveSheet.Unprotect
Application.ScreenUpdating = False
If Target.Cells.Count > 1 Then Exit Sub 'nichts machen wenn mehr als eine Zelle ausgewählt wird
If Intersect(Target, i) Is Nothing Then Exit Sub 'nur aktivieren, wenn Eingaben im Bereich  _
gemacht werden
If Sheets("Tabelle1").Range(Target.Address).Value = 0 Then
MsgBox "An dieser Stelle gibt es keine Daten in der Tabelle1!", vbOKOnly, "Hinweis:"
End If
ActiveSheet.Protect
Application.ScreenUpdating = True
End Sub

Anzeige
AW: Hinweis für Werte eines anderen Blattes anzeigen
05.10.2018 21:47:28
Rob
Ich schaue es mir mal an, kann aber 1-2 Tage dauern.
AW: Hinweis für Werte eines anderen Blattes anzeigen
05.10.2018 22:28:42
Rob
Ging jetzt doch einfach wie gedacht. Probier es mal damit:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim lrow, lcolumn As Long
lrow = ActiveCell.Row
lcolumn = ActiveCell.Column
If IsEmpty(Tabelle1.Cells(lrow, lcolumn)) Then
MsgBox "An dieser Stelle gibt s keine Daten in der Tabelle1!", vbOKOnly, "Hinweis:"
End If
End Sub

Anzeige
AW: Hinweis für Werte eines anderen Blattes anzeigen
05.10.2018 22:32:22
Rob
Aber Deine Methode mit Target.Range funktioniert doch auch. Verstehe jetzt nicht ganz, wo das Problem ist?!

305 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige