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

Worsheet open /workbook open

Worsheet open /workbook open
11.05.2009 14:19:40
Jordan
Hallo zusammen,
ich habe hier bestimmt ein kleines, für mich aber kniffeliges Problem.
Ich habe eine Tabelle mit Unsätzen. In diesem Tabellenblatt habe ich es (mit Hilfe eines Forummitglieds) erreicht, dass mir die Umsätze in die passende Spalte der KW geschrieben werden. Ursrpünglich wurde das mit einem Knopf gemacht. Ich möchte dies nun aber automatisch laufen lassen. Wenn ich das ganze mit Worsheet_Activate mache, dann geht das nur, wenn die Datei nicht gerade in dem Tabellenblatt aufmacht. Wird die Datei geöffnet das erste Tabellenblatt sind meine Umsätze, dann werden die Daten erst übertragen, wenn ich einmal hin und her wechsel! Oder ich mach mir zusätzlich noch einen Button! Ist aber nicht so schön.
Einfacher erklärt. Die Umsätze sollen übertragen werden, egal ob das Blatt als erstes aufgeht oder nicht!
Vielleicht gibt die Musterdatei mehr Aufschluss!
https://www.herber.de/bbs/user/61737.xls
Vielen Dank im voraus!!!

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Worsheet open /workbook open
11.05.2009 14:24:57
Ramses
Hallo
Ohne deine Datei jetzt anzusehen, schreib die Prozedur doch einfach in das Workbook_Open Ereignis
Gruss Rainer
AW: Worsheet open /workbook open
11.05.2009 16:27:40
Jordan
Hallo Rainer,
geht leider nicht! 1. Kommt dann eine Fehlermeldung, die ich sonst nicht habe
2. Bezieht sich das Übertragen der Umsätze nur auf das eine Tabellenblatt und nicht auf die anderen.
Nachtrag
11.05.2009 17:33:37
Jordan
Nachtrag:
Ich bemerke gerade, dass es besser wäre, wenn sich das Blatt mit den KW Umsätzen nach jeder Eingabe in den anderen Blättern aktualisiert. Sprich die Daten in die aktuelle KW überträgt. So bekäme ich ein immer aktuelles Ergebnis!
AW: Nachtrag
11.05.2009 19:29:38
Ramses
Hallo
Dann schreib es in das Worksheet_Calculate Ereignis
Dann wird es mit jeder Berechnung ausgelöst.
Aber ganz allgemein, wäre es hilfreich dein "Makro" mal zu sehen, ob es überhaupt geht
Gruss Rainer
Anzeige
AW: Nachtrag
12.05.2009 09:23:51
Jordan
Hallo Ramses,
das Makro ist zwar in der Tabelle. Aber ich poste es hier nochmal:
Das war das Ursprungsmakro:

Range("B7:e7").Copy
lz = Range("a6") + 12
Cells(lz, 9).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False


Ich habe ein bißchen rumgebastelt:


Dim KW_Tabelle As Worksheet
Set KW_Tabelle = Worksheets("KW Entwicklung")
'KW_Daten_Eintragen
KW_Tabelle.Range("B7:e7").Copy
lz = KW_Tabelle.Range("a6") + 12
Cells(lz, 9).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
End Sub


Jedoch schreibt er mir die kopierten Daten auch immer in das Blatt, dass ich gerade offen habe. Sonst gehts!!!
Danke für deine Hilfe!

Anzeige
AW: Vielleicht einfacher?
12.05.2009 10:41:46
Erich
Hi Jordan,
vielleicht geht es auch so wie hier - etwas einfacher: https://www.herber.de/bbs/user/61763.xls
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
AW: Vielleicht einfacher?
12.05.2009 12:38:32
Jordan
Servus Erich,
danke, ich habs getestet! Und schaut sehr gut aus!!! Das es einfacher geht, habe ich vermutet. Das man dafür nur einen Codezeile brauch, hätte ich nicht gedacht!
Kannst du mir beim eindeutschen helfen?

With Worksheets("KW Entwicklung")
.Cells(.Range("a6") + 12, 9).Resize(, 4) = .Range("B7:e7").Value


With Worksheet ist klar!


.Cells(.Range("a6") + 12, 9) 

gibt einen Bereich an


.Resize(, 4) = 

versteh ich nicht


.Range("B7:e7").Value 

füllt den oben angegeben Bereich mit dem Inhalt der hier angegeben Zellen aus!
Stimmts? oder nicht?

Anzeige
AW: Resize u. a.
12.05.2009 13:19:49
Erich
Hi Jordan,
.Cells(.Range("a6") + 12, 9) gibt einen Bereich an.
Ja! Genauer: ist eine Zelle in Spalte I (=9) - Zeile ist =A6+12.
Wenn z. B. .Cells(.Range("a6") + 12, 9) mal die Zelle I17 ist, vergrößert/erweitert
.Resize(, 4)
den Bereich I17 auf 4 Spalten nach rechts, das ist dann I17:L17.
Hast du mal Resize in der VBA-Hilfe nachgeschaut? Ist oft hilfreich!)
Du willst ja 4 Werte übertragen - in genau diesen Zielbereich.
.Range("B7:e7").Value sind die 4 Werte, die in B7:E7 stehen (Quelldaten).
Alles klar? Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: Resize u. a.
12.05.2009 18:53:16
Jordan
Servus Erich,
danke für die Erläuterungen. Aller Anfang ist schwer. Ich schau zwar schon immer in die Hilfe, muss aber trotzdem noch oft anderweitig nachsehen, da mir die ganzen Befehle i. d. R. nichts sagen!
Aller Anfang ist schwer. Ich befasse mich erst seit einigen Wochen richtig mit VBA. Möchte das aber lernen. Hier ist auf jeden Fall der richtig Platz dafür, so scheint mir. In meinen Unterlagen, bin ich gerade erst bei der "Range-Eigenschaft" gelandet.
Ich hab deinen Code nun in meine richtige Tabelle geschrieben! Funktioniert einwandfrei. Nur nach dem ich den Blattschutz aktiviert hatte, kam eine Fehlermeldung. Die konnte ich aber leicht umgehen!
Danke nochmal für die Hilfe!
Anzeige
Nachtrag der zweite / Fehler beim Kopieren
11.05.2009 18:16:59
Jordan
Hallo nochmal,
ich hab mit dem Code, den ich schon hatte in bißchen rumgebastelt! Jetzt glaub ich, bin ich schon nah dran an einer Lösung. Ich habe den Code mit Workbook_Befor_Save und Workbook_open gekoppelt. Nun müsste ich eigentlich alle Aktualisierungen haben.
1. Wenn man das Tabellenblatt direkt anwählt.
2. Beim öffenen des Workbook
3. Vor dem speichern
Jedoch taucht nun ein Fehler auf. Der Code wurde ursprünglich für die Benutzung durch einen Button geschrieben. Ich habe nun mit meinen "sehr bescheidenen VBA Kenntnissen" versucht, den Code von überall ausführbar zu machen. Geht! Jedoch schreibt er mir die kopierten Zellen nun auch immer in die letzte Tabelle. Egal was da steht.
Bitte schaut sich das mal jemand an.
Hier die Datei
https://www.herber.de/bbs/user/61752.xls
Vielen Dank!
Anzeige

39 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige