Modul



Excel-Version: Excel 2000
  • Modul von Michi vom 02.05.2002 - 14:31:47
    • Re: Modul von WernerB. vom 02.05.2002 - 14:55:25
      • Re: Modul von an WernerB vom 03.05.2002 - 07:34:33
        • Re: Modul von WernerB. vom 03.05.2002 - 09:31:30
          • Re: Modul von WernerB vom 03.05.2002 - 11:13:43
            • Re: Modul von WernerB. vom 03.05.2002 - 11:37:17
              • Re: Danke von Michi vom 03.05.2002 - 14:28:27
                • Re: Danke von WernerB. vom 03.05.2002 - 14:44:39
                  • Re: Danke von Michi vom 05.05.2002 - 14:09:16
                    • Re: Danke von WernerB. vom 05.05.2002 - 15:34:40
                      • Re: Danke von Michi vom 06.05.2002 - 20:02:19
                        • Re: Danke von WernerB. vom 06.05.2002 - 20:50:42
      • Re: Modul von Heinz A. Wankmüller vom 02.05.2002 - 16:24:17
nach unten

Betrifft: Modul
von: Michi
Geschrieben am: 02.05.2002 - 14:31:47

Hallo Zusammen,
danke für das Lesen meiner Frage!
Wer kann mir bitte erklären wie man ein Modul für das betreffende Tabellenblatt, also nicht ein normales Standardmodul programmiert?
Bin für jede Hilfe dankbar!
Grüße
Michi

nach oben   nach unten

Re: Modul
von: WernerB.
Geschrieben am: 02.05.2002 - 14:55:25

Hallo Michi,

bitte im ursprünglichen Thread bleiben! Die Verzettelung in mehrere Threads bringt absolut nichts!
Lies dazu bitte auch die "FAQ" in der Kopfleiste des Forums.

Zu Deinem Problem:
Mit Alt + F11 kommst Du in den Makro-Editor (das dürfte Dir vermutlich bekannt sein). Auf der linken Seite sind im Normalfall u.a. die Namen der Tabellenblätter aller gerade geöffneten Dateien angezeigt. Mit einem Doppelklick auf den "betreffenden Tabellennamen" wird dessen (Klassen-) Modul geöffnet; das ist die große weiße Fläche auf der rechten Seite.

MfG
WernerB.

nach oben   nach unten

Re: Modul
von: Heinz A. Wankmüller
Geschrieben am: 02.05.2002 - 16:24:17

Hallo Michi,

oder Rechtsklick auf den Registernamen und Code anzeigen wählen

Gruß
Heinz


nach oben   nach unten

Re: Modul
von: an WernerB
Geschrieben am: 03.05.2002 - 07:34:33

Hallo Werner,
vielen Dank für Deine rasche und professionellen Antworten!Sorry mit den Threats!Bin neu hier und wusste nicht, daß Du die alten nochmals liest!
Bislang ist alle klar (hast es mir ja auch ausführlichst beschrieben!), aber wie veranlasse ich das Modul mein Blatt zu bearbeiten?So wie bei den Standartmodulen funktioniert ja nicht.
Sorry, daß ich so banale Fragen stelle, aber ich bin wirklich neu im "Geschäft".
mfg
Michi

nach oben   nach unten

Re: Modul
von: WernerB.
Geschrieben am: 03.05.2002 - 09:31:30

Hallo Michi,

damit das Makro losläuft, musst Du überhaupt nichts machen. Bei diesem Makro handelt es sich um ein sogenanntes "ereignisgesteuertes Makro". Dieses reagiert selbsttätig auf jeden Mausklick (wenn es im Klassenmodul - so lautet wohl die genaue Bezeichnung - des betreffenden Tabellenblattes steht).
In unserem speziellen Fall ist es so, dass das Makro jedes Mal sofort abgebrochen wird, wenn in der Zelle A2 keine Veränderung vorgenommen wurde.
Wird hingegen in der Zelle A2 ein neuer Zahlenwert eingetragen, so wird dieser daraufhin zu dem Zahlenwert in A1 addiert und der neue Gesamtwert in A1 ausgegeben.
Wenn es noch immer Probleme geben sollte, so melde Dich einfach so oft und so lange, bis alles klappt.

MfG
WernerB.


nach oben   nach unten

Re: Modul
von: WernerB
Geschrieben am: 03.05.2002 - 11:13:43

Hallo Werner,
wenn ich das Programm so schreibe,wie Du es mir gesagt hast und dann in Excel zurück gehe, passiert leider in Zelle A1 überhaupt nichts, wenn ich in Zelle A2 eine Zahle schreibe.
MfG
Michi

nach oben   nach unten

Re: Modul
von: WernerB.
Geschrieben am: 03.05.2002 - 11:37:17

Hallo Michi,

das funktioniert nur in dem Tabellenblatt, in dessen Klassenmodul das Makro steht; die anderen Tabellenblätter sind davon nicht betroffen.
Bist Du ganz sicher, dass das Makro im richtigen Modul steht?
Die von Heinz vorgeschlagene Methode ist vielleicht sicherer und einfacher, um auf dieses Klassenmodul zu gelangen.

1. Klicke im "normalen" Excel mit der rechten Maustaste auf die Tabellenblattbezeichnung (z.B. "Tabelle1"), dann auf "Code anzeigen".

2. Es wird nun automatisch in den VB-Editor gewechselt und das Klassenmodul von "Tabelle1" geöffnet. Das ist die große weiße Fläche auf der rechten Seite.

3. Und da hinein muss das Makro geschrieben bzw. kopiert werden. Nur wenn es dort hinterlegt ist, wird es auch in dem Tabellenblatt "Tabelle1" (und nur dort!) funktionieren.

Das Makro selbst habe ich heute nochmal getestet - bei mir geht das Teil ohne Beanstandungen.

MfG
WernerB.


nach oben   nach unten

Re: Danke
von: Michi
Geschrieben am: 03.05.2002 - 14:28:27

Hallo Werner,
ja, funktioniert super!Danke für Deine Hilfe und Geduld!
Danke auch an Heinz!
Nur noch:
funktioniert das auch mit mehreren Zellen innerhalb eines Blattes?
Schönes Wochenende,
mfG
Michi
nach oben   nach unten

Re: Danke
von: WernerB.
Geschrieben am: 03.05.2002 - 14:44:39

Hallo Michi,

es freut mich für Dich, dass Du jetzt auch Dein Erfolgserlebnis hast!

Ich weiß zwar nicht, was Du genau mit "mehrere Zellen innerhalb eines Blattes" meinst, aber machbar ist vieles durch eine entsprechende Makromodifikation.
Schildere doch einfach Deine Wünsche mit genauen Zellangaben; dann wird man sehen, was sich machen lässt ...

MfG
WernerB.


nach oben   nach unten

Re: Danke
von: Michi
Geschrieben am: 05.05.2002 - 14:09:16

Hallo Werner,
ich möchte z.B. in Zelle A1 die Zahlen von A2 hochzählen,dann in Zelle B1 die Zahlen von B2 ect., ect.,
Alles befindet sich aber auf einem Tabellenblatt.

MfG
Michi


nach oben   nach unten

Re: Danke
von: WernerB.
Geschrieben am: 05.05.2002 - 15:34:40

Hallo Michi,

ist es das, was Du meinst:


Option Explicit
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim acC As Integer
    If Target.Row <> 2 Then Exit Sub
    acC = Target.Column
    Cells(1, acC).Value = Cells(1, acC).Value + Cells(2, acC).Value
End Sub

Viel Erfolg wünscht
WernerB.
nach oben   nach unten

Re: Danke
von: Michi
Geschrieben am: 06.05.2002 - 20:02:19

Hallo Werner,
ja, so ungefähr sollte es aussehen.
Ich habe nun versucht es nach meinen Bedürfnissen umzustricken, aber Du weißt ja....hi. :-)
Ich habe "row" mit "column" vertauscht, aber ich weiß nicht wie man die Spalte I bzw. H beschreibt.
Also:
Ich zähle in Spalte I und brauche das Ergebniß in Spalte H der jeweiligen Zeile.
z.B.:
neue Zahl in I4, Ergebniß steht in H4;
neue Zahl in I5, Ergebniß steht in H5;
usw....
Danke für Deine Geduld!
MfG
Michi
nach oben   nach unten

Re: Danke
von: WernerB.
Geschrieben am: 06.05.2002 - 20:50:42

Hallo Michi,

ich bin jetzt davon ausgegangen, dass Du in Spalte "I" Deine Eingaben machst und in Spalte "H" hochgezählt werden soll.

Die Columns-/Spaltennummern beginnen übrigens generell bei "1" (=A) und enden bei "256" (=IV).


Option Explicit
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim acR As Long
    If Target.Column <> 9 Then Exit Sub
    acR = Target.Row
    Cells(acR, 8).Value = Cells(acR, 8).Value + Cells(acR, 9).Value
End Sub

Ich hoffe, Du kannst diesen Beitrag noch lesen, bevor er in die Tiefen des Archivs entschwindet.

Viel Erfolg beim "umstricken" wünscht
WernerB.


 nach oben

Beiträge aus den Excel-Beispielen zum Thema "Anzahl max. gleichzeitig öffenbarer Excel-Files"