Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Werkzeug
BildScreenshot zu Werkzeug Werkzeug-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema CommandButton
BildScreenshot zu CommandButton CommandButton-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Userform
BildScreenshot zu Userform Userform-Seite mit Beispielarbeitsmappe aufrufen

auf Klick poppt Ausschnitt auf | Herbers Excel-Forum


Betrifft: auf Klick poppt Ausschnitt auf von: Jörg
Geschrieben am: 08.06.2009 12:21:27

Hallo zusammen

in einem Blatt soll durch Klick auf eine Zelle ein Fenster oder Dialog aufpoppen, der einen Ausschnitt (ca. 50 Zellen) aus einem anderen Blatt zeigt. (Das allein würde schon viel helfen)
Idealerweise könnte man dann dort in eine bestimmte Zelle klicken, um deren Wert in die Zelle zu holen, die man vorher angeklickt hat.
Eine entfernt ähnliche Frage wird im Forums-Beispiel 58226 behandelt, aber ich glaube, die dort gezeigte Lösung ist für mein Problem zwei Nummern zu groß.

Hat jemand 'ne Idee?

Grüße - Jörg

  

Betrifft: Die beiden Bspp im Thread des angegebenen... von: Luc:-?
Geschrieben am: 08.06.2009 12:57:14

...Bsps treffen das, was du haben willst, kaum, Jörg...
Es ist eher umgekehrt, das, was du willst, ist 2 Nr größer, denn hier handelt es sich ja "nur" um einen direkten Seitenaufruf, den man auch per Hyperlink oder Ereignisprozedur erreichen könnte, während du wohl so etwas wie ein UserFormular willst, das den Zielbereich abbildet. Gleichzeitig soll eine Verbindung zwischen dem dargestellten und dem aktuellen Blatt derart geschaffen wdn, dass bestimmte Angaben aus dem abgebild ins akt Blatt geholt wdn können. Letzteres könnte man schon so realisieren wie in 58226, aber mit AutoRücksprung und Datentransport! Wovon soll der dann abhängen? Besser wäre es wohl, wenn die Daten aus der UF-Darstellung geholt wdn könnten, die Abbild also dynamisch und editierbar wäre. Und das ist schon ein schönes Stück Arbeit, das hier nicht jeder leisten kann oder will...
Denk' bitte noch mal über Alternativen und Kriterien nach und versuche dich dann ggf an einem (VBA-)Projekt-Gerüst, zu dem du dann Detailfragen stellen kannst, die nicht so arbeitsaufwendig wären...
Gruß Luc :-?


  

Betrifft: AW: auf Klick poppt Ausschnitt auf von: Martin
Geschrieben am: 08.06.2009 12:58:59

Hallo Jörg,

ja, ich sehe da 2 Möglichkeiten:

1. Es öffnet sich eine UserForm mit einer Listbox, in der die 50 Zellen aufgelistet sind und bei einem Klick auf eine Zeile auf die jeweilige Zelle gesprungen wird.

2. Es öffnet sich ein Kontextmenü mit den entsprechenden 50 Zellen (Ebenfalls mit Klick auf die Zelle erfolgt Sprung zu dieser)

Viele Grüße

Martin


  

Betrifft: ok, Jungs - vielleicht beschränke ich... von: Jörg
Geschrieben am: 08.06.2009 13:39:22

...mich dann lieber auf die "Kleine Lösung": eine reine Anzeige, aus der man dann was ablesen und eintragen kann. Sowas hatte ich erst probiert mit einem Kommentar, aber erstens ist der abzubildende Bereich dreispaltig (was im Kommentar zerfleddert wird), und zweitens wird da gelegentlich mal was geändert (was dann im K. v.Hand nachgepflegt werden müßte)

Bei der reinen Anzeige könnte das ja auch mit einem Button geregelt werden.
Bliebe also die Aufgabe:

bei Klick zeige in Tabelle1 ein Fensterchen (o.ä.) mit dem Bereich Tabelle2!A1:C15

Dazu fehlen mir verschiedene VBA-Vokabeln, denke ich. Könnt ihr mir auf die Sprünge helfen, wie der Ansatz ist...?

Gruß - Jörg


  

Betrifft: AW: auf Klick poppt Ausschnitt auf von: Ramses
Geschrieben am: 08.06.2009 16:39:30

Hallo

meinst du so

https://www.herber.de/bbs/user/62299.xls

Für etwaige Selbstversuche:
Die UF muss auf "ShowModal = False" stehen, und das Spreadsheet.Control muss über die Steuerelement-Toolbox nachträglich eingebunden werden

Gruss Rainer


  

Betrifft: @Ramses: da fehlt was auf meinem Rechner von: Jörg
Geschrieben am: 09.06.2009 12:22:24

Hi Rainer,
beim Klick in deine Beispieldatei bekomme ich zweimal die Meldung "Ein Objekt konnte nicht geladen werden" und im Debugger "...Projekt oder Bibliothek nicht gefunden..."

Ich erinnere mich, daß ich in solchen Fällen irgendwo irgendwas anhaken muß, und falls nicht vorhanden, irgendwas runterladen muß... aber wo und was?

Unter "weitere Steuerelemente" finde ich nichts, was "Spresadsheet.Control" heißt...

:-(((
Gruß Jörg


  

Betrifft: AW: @Ramses: da fehlt was auf meinem Rechner von: Ramses
Geschrieben am: 09.06.2009 12:28:40

Hallo

Den VB-Editor öffnen
Die Userform aktivieren, Rechte Maustaste auf den freien Bereich der Steuerelemete Symbolliste "Weitere Steuerelemenete anzeigen".
dort nach unten scrollen bis das "Microsoft Office Spreadsheet Control 10.0" angezeigt wird.
Dort das Häkchen setzen und den Dialog schliessen
Dann sollte das gehen

Gruss Rainer


  

Betrifft: @Ramses: nur Control 11 vorhanden von: Jörg
Geschrieben am: 09.06.2009 22:58:43

Hi Rainer
hatte ursprünglich in Excel gesucht statt VBA und da natürlich überhaupt nix gefunden. Aber in VBA hab ich kein Spreadsheet Control 10.0 - ersatzweise ein Spreadsheet Control 11, aber damit klappt es nicht.

Wat nu??

:-(( Jörg


  

Betrifft: Misch-Masch von: Ramses
Geschrieben am: 09.06.2009 23:10:52

Hallo

Kann nicht sein, oder deine Office Version ist falsch
XP = 10, 2003 = 11, 2007 = 12

Also wenn du XP installiert hast, dann müsstest du eigentlich das 10er Control haben.
Egal,... nimm das 11. Das sollte auch gehen.

Wenn nicht, mein Spreadsheet in der UF löschen und ein 11er dafür einfügen.
Die Einstellungen zum Spreadsheet findest du ja in den Eigenschaften des Controls. Alles weiter wird sowieso per Code eingestellt

Gruss Rainer


  

Betrifft: AW: 2003, also 11 von: Jörg
Geschrieben am: 10.06.2009 13:47:07

Ja, Rainer, vielleicht hatte ich da anfangs was falsch klassifiziert? Vielleicht hab ich versehentlich WinXP gedacht und dann den Haken falsch gesetzt... jedenfalls hab ich Excel 2003.

Bei mir heißt das dann Microsoft Spreadsheet 11.0 - von "Control" steht da übrigens nix.

Aber seltsam: Ich hab nun schon zum dritten Mal das Ding angehakt, ok gedrückt - und immer, wenn ich später nachgucke, ist der Haken wieder weg. Auch wenn ich danach erstmal speicher, neu starte usw., oder wenn ich nur anhake, ok drück, dann im Blatt was mache (kommt Fehlermeldung) und dann wieder nachgucke - immer ist der Haken wieder raus.

Wieso ist das so?

Gruß Jörg


  

Betrifft: AW: 2003, also 11 von: Ramses
Geschrieben am: 10.06.2009 13:52:06

Hallo

Du musst mein Control löschen und deines dafür einfügen

Gruss Raienr


  

Betrifft: AW: 2003, also 11 von: Jörg
Geschrieben am: 10.06.2009 15:41:20

also, Rainer - auch auf die Gefahr hin, daß du nun die Augen verdrehst ;-)) ... wie löscht mnan ein Control, wo finde ich "dein" Control?

Meine VBA-Kenntnisse sind eben "bescheiden" :-((

Gruß Jörg


  

Betrifft: AW: 2003, also 11 von: Ramses
Geschrieben am: 10.06.2009 16:12:28

Hallo

Mit "Alt"+"F11" in den VB-Editor wechseln
Doppelklick auf "DeineArbeitsmappe.xls"
die Userform anwählen
Im rechten Fenster siehst du das Control
Markieren > löschen und das 11er Control einfügen wie beschrieben.

Mach es aber besser in einer neuen Mappe.
Rechte Maustaste im VB-Editor über deiner Mappe
Einfügen - Userform

Dann kannst du die Control- und Userform-Einstellungen noch vergleichen

Gruss Rainer


  

Betrifft: AW: Mäusemelken... ggrrr von: Jörg
Geschrieben am: 10.06.2009 18:41:24

..also ich habe
- ne neue Mappe gemacht
- ne Userform eingefügt
- drauf geklickt
- Rechtsklick auf die Werkzeugsammlung
- zusätzl Steuerelement aufgerufen
- Microsoft Spreadsheet 11.0 angekreuzt
- ok gedrückt
- Mappe gespeichert, Excel geschlossen, wieder geöffnet
- nachgeguckt ... Spreadsheet 11 Haken war wieder wech...

Was mach ich denn da bloß falsch?? Is doch alles so, wie du geschrieben hast...

:-((((((


  

Betrifft: AW: Mäusemelken... ggrrr von: Ramses
Geschrieben am: 10.06.2009 21:58:51

Hallo

Du musst das Steuerelement auch einfügen !!!
Ankreuzen alleine reicht nicht

Gruss Rainer


  

Betrifft: AW: genial!!! Kleiner Zinken noch... von: Jörg
Geschrieben am: 11.06.2009 12:46:50

also, Rainer - nu hab ich zum ersten Mal in meinem Leben ein Spreadsheet in freier Wildbahn gesehen... wow :-))

Das mit dem Ankreuzen und Einfügen usw. ist so leicht gesagt... aber es ist für VBA-Laien etwa so, als wenn man einem Marsmännchen dazu verhelfen möchte, in dunklen Räumen etwas sehen zu können, indem man ihm erklärt, er möge das Licht einschalten - er weiß aber nicht, was ein Lichtschalter ist :-))

Hab mir also eine neue Mappe gebastelt, eine nagelneue Userform eingebaut mit Buttons 2 und 3, dein ShowDetail umbenannt, meine Form ShowDetail genannt, deinen gesamten Code kopiert, mich dann gewundert, daß es nicht ging, bis ich darauf kam, daß ich noch kein Spreadsheet erstellt hatte... nu klappts!

Bis auf einen kleinen Schönheitsfehler: Es wird der Wert der markierten Zelle der Tabelle (also A1) in die im Spreadsheet markierte Zelle geschrieben. Es soll aber umgekehrt sein: Aus dem SprSh in die Tabelle.

Dazu hab ich mal versuchsweise deine Zeile umgestellt:
statt
Worksheets("Tabelle2").Range(tarAddress) = Selection.Value
ersetzt
Worksheets("Tabelle2").Selection.Value = Me.Spreadsheet1.Selection.Value

aber das geht nicht.
Wie muß es denn richtig heißen?

Gruß Jörg


  

Betrifft: AW: genial!!! Kleiner Zinken noch... von: Ramses
Geschrieben am: 11.06.2009 13:29:12

Hallo

Schön dich auf dem richtigen Weg zu sehen :-)
Du hast es fast richtig gemacht. Es muss dann heissen

Private Sub CommandButton2_Click()
    Dim Qe As Long
    Qe = MsgBox("Daten in : " & Selection.Address & _
    " mit dem aktuellen Wert """ & Me.Spreadsheet1.Selection.Value & """ überschreiben ?", vbQuestion + vbOKCancel, "Datenübernahme")
    If Qe = vbOK Then
        ActiveCell = Me.Spreadsheet1.Selection.Value
        ReadMyData
    End If
End Sub


Gruss Rainer


  

Betrifft: Perfekt!! Dank dir, Rainer!... von: Jörg
Geschrieben am: 11.06.2009 18:45:22

....das ist genau das, was ich meinte.

Ich versteh "sogar" den Code im Wesentlichen und hab wieder einige VBA-Vokabeln gelernt.

Schönen Abend!

Jörg aus Hamburg


  

Betrifft: ...noch 'ne Frage zu den Größeneinstellungen von: Jörg
Geschrieben am: 12.06.2009 19:21:02

Hallo Rainer

Hab den Code an meine Arbeitsdatei angepaßt - klappt alles bestens. Aber ich habe Probleme mit der Größe des Spreadsheets: die ändert sich alle naselang - obwohl doch im Code Höhe und Breite klar definiert sind.

Woran kann das liegen? Haben da Fläche der UserForm oder Lage der Buttons ein Wort mitzureden?

Scnhönes WE!

Jörg