Excel 2003: Aktueller Zelleninhalt in einer UserForm anzeigen

Kneppi

Cadet 4th Year
Registriert
Feb. 2009
Beiträge
85
Hallo Zusammen,

jetzt versuche ich es einmal in diesem Forum.

Ich habe kaum eine (so gut wie noch keine) Ahnung von der Progammierung von VBA unter Excel 2003.

Ich möchte nun folgende Aufgabe lösen:

1. Schritt:
Wenn ich eine Zelle, einer bestimmten Spalte (z.B. Spalte C, von C7 bis Spaltenende), anklicke, soll der Wert in einer Userform angezeigt werden.

2. Schritt:
Den angezeigten Wert würde ich nun gerne als "sverweis" nutzen, um Daten einer weiteren Tabelle anzeigen zu lassen.

Funktioniert das?

Viele Grüße
Kneppi
 
Wenn du auf den Klick reagieren willst, müße es über das Worksheet.SelectionChange Ereignis gehen. Danach kannst Du dann den Inhalt der markierten Zellen auslesen.
 
Moin,

miacs vorschlag ist doch genau das was du suchst?
Ich denke, nicht ganz genau. Die Routine soll ja nur bei Klick in C7:Cxx reagieren. Hier einmal ein Stückchen Code, welches Kneppi vielleicht weiter hilft:
Code:
Option Explicit

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
   Dim Isect As Range
   
   Set Isect = Application.Intersect(Target, Range("C7:C1000"))
   If Isect Is Nothing Then
       MsgBox "Nicht im ausgewählten Bereich"
   Else
       MsgBox "Treffer! In der Zelle " & Target.Address _
       & " steht: " & Target.Value
   End If
End Sub
Da wird zwar auch auf jeden Klick reagiert, aber das lässt sich hervorragend ändern mit beispielsweise
Code:
If Not Isect Is Nothing Then
... und dann nur der entscheidende Code.
 
Hallo Zusammen,

erst einmal vielen Dank für die schnellen Antworten.

Aber ich merke gerade, ich muss erst einmal Grundlagen büffeln.
Ich weiss im Augenblick noch nicht einmal was ich jetzt mit dem Code bzw. der Routine machen muss, damit ich diese in einer Tabelle nutzen kann.

Ich versuche einmal über das Internet an ein paar Grundlageninforamtionen zu kommen, wie z.B. VBA-Grundlagen als PDF-Datei oder so ähnlich.

Eine "schritt für schritt" Anleitung für langsamer denkende.

Aber, danke erst einmal.

Viele Grüße
Kneppi
 
Hallo Kneppi,

also, wie du solch eine VBA-Routine einbindest findest beispielsweise hier.

Viel Erfolg!
 
Hallo Zusammen,

ich habe es geschaft die Routine zum laufen zu bringen.

Solange ich in eines der definierten Zellen anklicke, bekomme ich die entsprechende Information in einer MsgBox angezeigt - die muss ich dann bestätigen.
Wenn ich ausserhalb des Zellenbereiches Zellen anklicke gibt es eine Fehlermeldung.

Super wäre es, wenn ich sozusagen eine UserForm als Daueranzeige aktivieren kann.
Wenn ich also in eine definierte Zelle klicke, wird der Wert der Zelle angezeigt, sobald ich in eine andere Zelle reinklicke, wird der entsprechende Wert angezeigt - sobald ich eine Zelle ausserhalb des definierten Bereiches klicke, soll kein Wert angezeigt werden.

Viele Grüße
Kneppi
 
@Kneppi
Darf ich fragen warum du so etwas willst? Vor allem mit VBA?
-Wenn es dir um einfache Summen der markierten Zellen geht(und davon gehe ich aus laut deiner Beschreibung von Punkt 1), dann nutze doch einfach die Infos in der Statusleiste.
-Du kannst dir einmal das Überwachungsfenster anschauen.
-Statt einer Userform, würde ich mich nach Functions in VBA umschauen und die nutzen, bzw. du zeichnest einen Sverweis auf und passt ihn deinen Bedürfnissen an. Den legst du noch auf Hotkeys und kannst dann doch flott damit arbeiten.
 
Hallo cawti,

es geht nicht um eine summierung von Zellen, sondern um die Anzeige eines Zellenwertes in einer UserForm. Ich habe die Vostellung, dass ich über eine Userform, zum Einen, variabler mit der Anzeigengröße bin und zum Anderen, ein übersichtlicheres Layout erstellen kann.

Kurz angerissen:
Ich habe eine Excel-Datei erstellt, in der ich ein Tabellenblatt für die Erfassung von Bau- und Planungsaufträgen, mit entsprechenden Einträgen nutze, ein weiteres Tabellenblatt für die Bestell- und Abrechnungsdaten, hier nutze ich Dateneinträge aus dem Tabellenblatt für die Erfassung von Bau- und Planungsaufträgen und weiteren Tabellenblätter, wie Objektdaten und Adressen der Auftragnehmer. Hier arbeite ich viel mit Listen (Gültigkeit) und SVerweise.
Sinnvollerweise sollte ich mit MS Access arbeiten, dies steht mir im Büro leider nicht zur Verfügung, daher versuche ich Excel dafür zu missbrauchen.

Um die Tabellenblätter etwas komfortabler zu nutzen, möchte ich versuchen dies mit Userformen umzusetzen.

Da habe ich noch eine Frage: Was meinst Du mit SVerweise aufnehmen?


Ich habe sogar gehört, dass man über VBA und Userforms, die Umgebung einer Excel-Datei so einstellen kann, dass man denkt, es handelt sich dabei um ein eigenes Programm, da die typische Excel-Tabellenansicht ausgeschaltet ist und alles über UserForms gesteuert wird.


Viele Grüße
Kneppi
 
Zuletzt bearbeitet:
es geht nicht um eine summierung von Zellen, sondern um die Anzeige eines Zellenwertes in einer UserForm. Ich habe die Vostellung, dass ich über eine Userform, zum Einen, variabler mit der Anzeigengröße bin und zum Anderen, ein übersichtlicheres Layout erstellen kann.
Ich erkenne immer noch nicht den Unterschied. Markiere ich eine Zelle, ist der Zellwert gleich der Summe des Zellinhaltes. Markiere ich mehrere Zellen, dann ist der Zellwert dieser Zellen die Summe dieser Zellen.

Da habe ich noch eine Frage: Was meinst Du mit SVerweise aufnehmen?
Man kann in Excel Vorgänge aufzeichnen. Diese Aufzeichnungen kann man in der VBA Umgebung bearbeiten und so z.B. allgemeingültig machen. Diese "Makros" kann man nun auf Buttons, Hotkeys usw. legen. Du könntest also z.B. einen Sverweis aufnehmen, ihn bearbeiten und dann später mit einem Hotkey immer wieder aufrufen.
Ich habe sogar gehört, dass man über VBA und Userforms, die Umgebung einer Excel-Datei so einstellen kann, dass man denkt, es handelt sich dabei um ein eigenes Programm, da die typische Excel-Tabellenansicht ausgeschaltet ist und alles über UserForms gesteuert wird.
Klar kann man das. Aber das ist dann sehr sehr schnell komplex. Sprich das ist nichts was man einfach mal so nebenbei im Forum macht. Wenn du so etwas möchtest, kommt sehr viel Arbeit auf dich zu. Vor allem wenn ich dich richtig verstanden habe, du sehr wenig Kenntnisse in der Materie hast. Wenn man nun deine Arbeitszeit und ihre kosten nimmt, ist wohl die Anschaffung von Access billiger.
 
OK Kneppi,

so viel Engagement sollte belohnt werden ... ;)

Ich denke, dass du mit der Datei im Anhang etwas weiter kommst.
Und da kommen garantiert keine Fehler, habe es selber probiert!
 

Anhänge

@cpt. Nemo
Show Modal würde ich noch auf false bei der Userform setzen.

Wobei ich den Sinn hinter der Aktion immer noch nicht nachvollziehen kann. Denn mit den Infos die ich so heraus bekomme, kann ich wenig anfangen. Das ist ähnlich wie einer Daten Maske mit ausgeblendeten Spalten wo ich keine weiterführenden Berechnungen machen kann, bzw. wo mir viele Möglichkeiten wie z.B. eine Druckoption aka Bericht fehlt.
 
Zurück
Oben