unix
Goto Top

Access-ähnliche Funktionen in Excel

Hallo!

ich brauche ziemlich dringend Hilfe.
Bis morgen muss ich "Tool" in Excel entwickeln, das u.a. folgende Funktionen aufweist:

es muss ein Blatt geben, in dem Eingaben zu 6 unterschiedlichen Bereichen gemacht werden sollen. Wenn man ein Bereich eingegeben hat, soll es möglich sein, sofort Eingaben für den zweiten Bereich zu machen indem man die Daten (des ersten Bereiches) überschreibt. Das heißt, sobald die Daten eingegeben werden, sollen sie irgendwo auf den versteckten Blättern gespeichert werden.

Ich weiß, solche Aufgabe sollte ich eher in Access machen. Es wurde leider ausnahmslos in Excel angefordert.

Sowas habe ich noch nie gemacht und habe ehrlich gesagt keine Idee, wie man das angehen soll. Das schlimme ist, dass meine Uhr tickt und so viel Zeit habe ich für das "Tool" nicht bekommen.

Ich wäre sehr dankbar für hilfreiche Hinweise.

Vielen Dank!!!

Unix (polinka)

Content-Key: 28842

Url: https://administrator.de/contentid/28842

Printed on: April 25, 2024 at 13:04 o'clock

Mitglied: 16568
16568 Mar 23, 2006 at 17:07:24 (UTC)
Goto Top
Hm, mit Deiner Definition kann ich irgendwie so gar nix anfangen;
und ich habe schon Sachen á la Liquiditäts-Management mit Excel gebastelt...


Lonesome Walker
Member: miniversum
miniversum Mar 23, 2006 at 17:48:31 (UTC)
Goto Top
Da würd mir jetzt nur (wenn ichs richtig verstanden habe) ein Makro einfallen das die Zellen aus der Tabelle in der die Daten eingetragen hast in ein anderes Blatt koppiert und danach die Zellen im ersten Blatt löscht. Bein Koppieren in das Zweite Blatt halt immer oben anfängt, kontrolliert ob schon was drinsteht und wenn ja dann eine zeile weiter runter geht oder so.
Sowas kannst du mit ner Schleife hinbekommen. Kannst ja nen Teil des Makros aufnehmen und dann dasMakro bearbeiten und das mit der Schleife selbst reinschreiben wenn du etwas ahnung von Programmieren hast?
Hab was ähnliches mal gemacht. Ist eigentlich nicht schwer.
Und wenns toll aussehen soll (was ja meistens gut ankommt wenn mans Leuten vorzeigen soll) kannst Du ja nen Button reinsetzen der das Makro ausführt wenn man ihn anklickt.

miniversum
Member: bufog
bufog Mar 23, 2006 at 19:17:06 (UTC)
Goto Top
Hallo Unix (polinka)!

Soweit ich das verstanden habe willst du Excel dazu bringen, eine (für den Anwender sichtbaren) Tabelle, in der unter einer Beschriftungszeile mit Überschriften Datensätze eingegebenen werden können, auf neue eingegebene Datensätze zu überwachen und sofern neue Datensätze eingegeben wurden, diese in eine (versteckte) Tabelle zu verschieben.
Sollte ich dich falsch verstanden haben, kannst du an dieser Stelle das Lesen dieses Kommentares abbrechen.

Unabhängig davon, dass mir eine solche Excel Nutzung etwas seltsam vorkommt, ist diese Problematik mit einem VBA Script zu lösen.

Lege dazu ersteinmal in der entsprechenden Datei deine zwei Tabellen an und gib diesen sinnvolle Namen.
Füge dann in das VBA Modul für das entsprechende Tabellenblatt folgendes Makro (Extras -> Makros -> Makroeditor, links oben das entsprechende Dokument und das entsprechende Dokument auswählen und mit Doppelklick das zugehörige Modul öffnen) ein:

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range("F:F")) Is Nothing Then
'HIER GEHÖRT DER EIGENTLICHE CODE HIN
End If
End Sub

und passe es an. (Hätte die das Makro schon kurz geschrieben, aber sitz grad an PC ohne Excel, ohne es selber auszuprobieren würdest du mit meinem Code nicht glücklich werden...)
Der Funktionskopf überwacht deine Tabelle auf Änderungen. Sind Änderungen getätigt worden, wird überprüft ob diese in der Spalte F (also dem letzten Feld deines Datensatzes) waren.
Im wesentlichen mußt du jetzt noch...
- die entsprechende Zeile aus der Variable Target ziehen (Target.Row oder ähnlich),
- diese markieren (.Select),
- kopieren (.Copy),
- das Tabellenblatt wechseln (Worksheets("Zielname").Activate),
- die kopierte Zeile einfügen und dabei die bereits vorhandenen nach unten verschieben (benutze hierzu den Makroeditor (Extras -> Makros ->Makroeditor) und passe den Code den dieser erzeugt an deine Bedürfnisse an)
- Tabellenblatt zurück wechseln,
- die entsprechende Orginalzeile löschen.

Hilfe findest du z.B. unter http://www.excel-inside.de/ oder natürlich ein bisschen googlen.
Für viele Kleinigkeiten reicht auch der Makroeditor zum ausprobieren und die Excel Hilfe aus.

Ich hoffe ich konnte dir wenigstens ein bischen helfen!

Ciao
bufog
Member: Unix
Unix Mar 24, 2006 at 12:09:54 (UTC)
Goto Top
Hallo bufog (Hans-Joachim Steudel)!

Vielen Dank. Das ist wirklich sehr hilfreich!!!

Gestern Abend ist mir auch die Idee gekommen, mit einem Makro die Eingaben aus einem Blatt in das andere zu transportieren, sobald der Button gedrückt wird. Nur leider bin ich überhaupt kein Held in Makro schreiben... und das Tool spätestens heute Abend muss komplett fertig sein.

Vielleicht kann mir jemand mit dem Makro helfen?!

Das ganze Tool ist folgend aufgebaut:

in dem ersten Blatt kann man anhand von Pool-Down-Menü eine Maske der Faktoren aufrufen, die auf 6 verschiedene Blätter mit jeweils unterschiedlichen Faktoren zurückgreift. Diese Faktoren werden in dem ersten Blatt bewertet, gewichtet usw. Diese Angaben müssen in den entsprechenden Blatt geschrieben werden, so dass nach drucken des Battons Eingaben für die neuen Faktoren aus dem nächsten Blatt vornehmen kann.

Wofür ist das ganze mache? Das Tool wird an unseren Kunden weitergegeben. Es muss cool aussehen und total simple in Bedienung sein, so dass nur zwei Blätter gibt: Eingabeblatt und ein Blatt, die die gesamte Ergebnisse darstellt. Alles anderes wird ausgeblendet, und User merkt gar nicht, wie das Tool gestrickt ist.

Also, wenn jemand eine Idee hat, wäre ich wirklich sehr-sehr dankbar!!!!

Viele Grüße

Unix (polinka)