Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
832to836
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
832to836
832to836
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Formel mit Macro?

Formel mit Macro?
09.01.2007 20:41:58
Alina
Hallo an alle,
Ich habe ein Problem:
Daten von meinem Input-Tabellenbatt sollen in ein anderes Tabellenblatt (Angehörige)exportiert werden via einer Formelabfrage und dann Spalten automatisiert eingefügt werden.
Das Problem ich kenne mich mit Macros nicht aus, und denke es gibt keine Wenn Formel die das Problem lösen könnte.
Bin am verzweifeln. Theoretisch müssen zwei Abfragen gestartet werden:
1.Wenn Status "verheiratet", dann Daten Name, Vorname, Geburtsdatum und Nationalität in das Tabellenblatt (Angehörige)exportieren und eine Spalte einfügen für die neuen Daten (Ehemann/Ehefrau).
2. Wenn Kinder "Ja", dann wieder Daten Name, Vorname, Geburtsdatum und Nationalität in das Tabellenblatt (Angehörige)exportieren und soviel Spalten einfügen wie Kinder vohanden (Spalte G) um die Daten einzutragen.
Bitte helft mir.
https://www.herber.de/bbs/user/39527.xls
Liebe Grüsse Alina

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Formel mit Macro? - Etwas unklar!
10.01.2007 06:17:04
Luc:-?
Guten Morgen, Alina!
Du hast recht, mit WENN geht das nicht. Aber ich habe den Eindruck, dass das Ganze noch recht unausgegoren ist und/oder noch einige Infos fehlen, um das rationell automatisieren zu können:
1. Was steht alles auf dem Blatt "Input"? Nur das, was da zu sehen ist oder mehr?
2. Wo wdn die Daten der Angehörigen erfasst? Wo ist da das "Input"-Blatt, die Datenquelle?
3. Oder wird bei Vorliegen der entsprechenden Bedingungen für jede Zeile aus Input ein separates Blatt "Angehörige" angelegt, das dann auch als "Input"-Blatt dient? Der Gültigkeitsfilter deutet darauf hin! Fehlt irgendwie die Logik (was zur BAA passen würde ;-) )! Üblicherweise hat man nur einen Input und verschiedene Auswertungen. Das scheint ein Zwitter aus beidem zu sein.
4. Das Einfügen zusätzlicher Spalten für Angehörige nach Bedarf deutet ebenfalls auf Einzelblätter pro "Input"-Zeile hin. Sonst wäre das sinnlos! Könnte übrigens auch mit Ein-/Ausblenden gelöst wdn, abgesehen davon, dass sich die Texte der 3 Spaltenköpfe mit Matrixformeln erzeugen ließen und die Formate mit bedingter Formatierung.
5. Wenn es sich bei "Angehörige" um ein reines Auswertungsblatt für alle "Input"-Zeilen handeln würde, könnte man die Daten wunderschön mit geeigneten Formeln, die ich schon parat habe, einschließl Leerzeilen zwischen den Angehörigenblöcken aus "Input" übernehmen. Auch eine Vorbereitung von Erfassungsblättern wäre so möglich (das wäre auch eine wichtige Info: Sollen das [manuelle] Erfassungsblätter wdn?). Wenn da allerdings auch Gültigkeitsfilter angebracht wdn sollen, geht das nur mit VBA.
6. Ob Formeln oder VBA zu bevorzugen sind, richtet sich natürlich auch nach dem Datenumfang. Angaben hierzu fehlen ebenfalls!
Quintessenz: Möglich ist vieles, aber nicht alles ist sinnvoll. Bitte noch mal genau überlegen (nicht zu lange, sonst musst du einen neuen Thread anlegen - als Alina, damit ich das dann auch finde) und dann wieder hier melden. Ansonsten wäre das schon eine interessante Aufgabe, wenn Form und Inhalt zusammenstimmen.
Gruß Luc :-?
PS: Allerdings bin ich nicht bereit, etwas umsonst für die BAA zu programmieren (Formeln - naja...); die haben mir zuviel Geld für ominöse Berater, bei deren Vorschlägen es jeden echten Ökonomen graust, und mehr schlecht als recht fktd Software verschwendet.
Anzeige
AW: Formel mit Macro? - Etwas unklar!
10.01.2007 07:04:53
Alina
Guten Mogen Luc,
erstmal Danke das du dich meiner Frage angenommen hast. Und vielleicht zuerst, was meinst mit BAA?. Wenn meine Vermutung stimmt, kann ich dich beruhigen es ist nicht für die BAA.
Du hast Recht es ist eine Art Zwitter, aber das Tabellenblatt dient dazu die Leute zu vervollständigen die Angehörige haben. Das heisst diese Daten werden neu erfasst.
Wenn ich dich richtig verstehe, dann ist die bessere Lösung die Daten gleich im Inputsheet zuerfassen, Zeilen ausblenden und dann die Formel?
Aber wie löse ich das mit den Zeilen einfügen im Tabellenblatt "Angehörige"? Z.b. genauso vieviele Zielen wie Kinder vorhanden oder immer eine Zeile für Ehefrau/Ehemann?
Wenn alles im Tabellenblatt Input erfasst, dann eine Wenn Abfrage?
Und zu deiner Frage, ja das sind viel mehr Daten im Inputsheet, die aber unrelevant sind für das Tabellenblatt "Angehörige".
Luc, ich weiss das ist unfair sowas in dem Forum zustellen, nur ich stosse an meine Logik- und Kenntniss Grenze, vor allem weil ich denke sowas ist mit einem Macro zu lösen.
Liebe Grüsse aus Stuttgart
Alina
Anzeige
AW: Formel mit Macro? - Etwas unklar!
10.01.2007 08:12:42
Erich
Hallo Alina,
deine Mappe habe ich ein wenig geändert, das sollte aber nicht stören.
Zum Testen habe ich auch mit den Input-Daten "gespielt".
Probier mal das Makro Angehoerige_anlegen in der Mappe
https://www.herber.de/bbs/user/39535.xls
@Luc: Die BAA heißt heute AA=Arbeitsagentur - aber hier gehts eher um einen Pharmahersteller (Datei/Eigenschaften).
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
AW: Formel mit Macro? - Etwas unklar!
10.01.2007 08:38:25
Alina
Hallo Erich,
vielen Dank für deine Hilfe und Mühe. Wie schon bei Luc gesagt bin ich nicht so fit mit Macros. Ich hätte da noch zwei Frage.
1.Wenn ich einen neuen Datensatz eingebe im Inputsheet, erscheint der dann automatisch im Tabellenblatt Angehörige? Oder muss ich den Namen eingeben im Tabellenblatt Angehörige und ein shortcut drücken?
2.Kann ich das Macro unproblematisch in mein Orginaldatei übertragen oder muss ich da sich die Spalten verschieben etwas beachten?
Liebe Grüsse Alina
Anzeige
AW: Formel mit Macro? - Formeln
10.01.2007 12:14:02
Luc:-?
Hallo Alina,
hab jetzt gerade keine Zeit, aber die Formeln hatte ich schon fertig, die dir die Daten aus dem Inputblatt in das Angehörigenblatt übertragen (mit den entsprechenden Abständen). Bei Interesse kann ich dir die ja noch zukommen lassen. Was Erich gemacht hat, sehe ich mir später noch an.
Gruß Luc :-?
PS @Erich: Es wird immer von der Bundesarbeitsagentur in Nürnberg und den Arbeitsagenturen vor Ort gesprochen! Und vor allem erstere war gemeint.
Gruß aus B-Bb/TF
AW: Formel mit Macro? - InfoFrage
10.01.2007 12:29:53
Luc:-?
nochmal auf die Schnelle, Alina,
du hast die Frage nicht beantwortet, ob das Angehörigenerfassungsblatt immer nur für eine Person aus Input oder für alle oder evtl getrennt für Leute mit/ohne Angehörige sein soll. Sonst macht eine separate Regie für die 3 zusätzl Angehörigenspalten wirklich keinen Sinn.
Für alle aus Input ist das auch mit Formeln lösbar, die teilweise bei der Erfassung durch Daten überschrieben wdn müssen.
Gruß Luc :-?
Anzeige
@Luc: Das "AA" war ein Scherz! ;-) (oT)
10.01.2007 18:49:54
Erich
Übrigens meinte ich vor allem den Datenumfang,...
10.01.2007 14:10:54
Luc:-?
...Alina,
also um wieviel Datensätze (Zeilen in Input) es sich ungefähr handelt.
Gruß Luc :-?
AW: Formel mit Macro? - Etwas unklar!
10.01.2007 18:47:52
Erich
Hallo Alina,
hast du das Makro (in der von mir hochgeladenen Mappe) schon einmal ausprobiert?
Das geht mit Extras - Makro - Makros... - Ausführen.
zu 1.:
Wenn du in "Input" eine neue Zeile einfügst oder in einer alten Zeile den Familienstand oder die Kinderzahl änderst,
dann das Makro startest, siehst du den Effekt.
zu 2.:
Da "sich die Spalten verschieben", musst du die Spaltenangaben im Makro an die neuen Gegebenheiten anpassen.
Im Makro kommen die Spalten als 2. Parameter der Methode Cells - also das "b" in Cells(a, b) - vor.
Das schaffst du sicher selbst.
Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: Formel mit Macro? - Etwas unklar!
10.01.2007 20:54:56
Alina
Hallo Erich,
dein Macro funktioniert. Kompliment. Leider kriege ich es bei meiner Orginaldatei nicht hin. Da es mehr Spalten gibt. Habe noch mal Beispieldatei generiert:
https://www.herber.de/bbs/user/39559.xls
Letzte Frage: Die Begriffe intEhe / intKin sind die Begriffe variabel, da sich dies in meiner Datei auch ändern würde?
Ich weiss ich strapaziere deine Nerven.
Liebe Grüsse
Alina
AW: Formel mit Macro? - Etwas unklar!
11.01.2007 00:12:32
Erich
Hallo Alina,
hier habe ich mal die Spaltennummern angepasst:
Option Explicit
Sub Angehoerige_anlegen()
Dim wsZ As Worksheet, lngQ As Long, lngZ As Long, zQ As Long, zZ As Long
Dim ii As Integer, jj As Integer, intEhe As Integer, intKin As Integer
Set wsZ = Sheets("Angehörige")
lngZ = wsZ.Cells(Rows.Count, 1).End(xlUp).Row
If lngZ < wsZ.Cells(Rows.Count, 4).End(xlUp).Row Then _
lngZ = wsZ.Cells(Rows.Count, 4).End(xlUp).Row
With Sheets("Input")
lngQ = .Cells(Rows.Count, 2).End(xlUp).Row
For zQ = 4 To lngQ
If .Cells(zQ, 7) = "Verheiratet" Or .Cells(zQ, 9) > 0 Then
For zZ = 5 To lngZ
If .Cells(zQ, 2) = wsZ.Cells(zZ, 1) And _
.Cells(zQ, 3) = wsZ.Cells(zZ, 3) And _
.Cells(zQ, 5) = wsZ.Cells(zZ, 7) Then Exit For
Next zZ
If zZ > lngZ Then
lngZ = lngZ + 1
wsZ.Cells(lngZ, 1) = .Cells(zQ, 2)
wsZ.Cells(lngZ, 3) = .Cells(zQ, 3)
wsZ.Cells(lngZ, 7) = .Cells(zQ, 5)
'              wsZ.Cells(lngZ, 8) = keine Nationalität in Input
End If
End If
Next zQ
For zQ = 4 To lngQ
For zZ = 5 To lngZ
If .Cells(zQ, 2) = wsZ.Cells(zZ, 1) And _
.Cells(zQ, 3) = wsZ.Cells(zZ, 3) And _
.Cells(zQ, 5) = wsZ.Cells(zZ, 7) Then
ii = 0
intEhe = 0
intKin = 0
While IsEmpty(wsZ.Cells(zZ + ii + 1, 1)) And _
Not IsEmpty(wsZ.Cells(zZ + ii + 1, 4))
ii = ii + 1
If Left(wsZ.Cells(zZ + ii, 6), 3) = "Ehe" Then intEhe = intEhe + 1
If Left(wsZ.Cells(zZ + ii, 6), 4) = "Sohn" Or _
wsZ.Cells(zZ + ii, 6) = "Tochter" Then intKin = intKin + 1
Wend
If .Cells(zQ, 7) <> "Verheiratet" And intEhe > 0 Then
MsgBox wsZ.Cells(zZ, 1) & " (Zeile " & zZ & ") hat Ehe...," _
& " ist aber nicht verheiratet.", vbCritical, "Angehörige"
ElseIf .Cells(zQ, 7) = "Verheiratet" And intEhe = 0 Then
wsZ.Rows(zZ + ii + 1).Insert
zZ = zZ + 1
wsZ.Cells(zZ + ii, 4) = .Cells(zQ, 2)
wsZ.Cells(zZ + ii, 6) = "Ehe"
lngZ = lngZ + 1
End If
If .Cells(zQ, 9) < intKin Then
MsgBox wsZ.Cells(zZ, 1) & " (Zeile " & zZ & ")" & " hat " _
& intKin - .Cells(zQ, 9) & " Kind(er) zuviel.", vbCritical, "Angehörige"
Else
For jj = 1 To .Cells(zQ, 9) - intKin
wsZ.Rows(zZ + ii + jj).Insert
wsZ.Cells(zZ + ii + jj, 4) = .Cells(zQ, 2)
wsZ.Cells(zZ + ii + jj, 6) = "Sohn/Tochter"
Next jj
lngZ = lngZ + .Cells(zQ, 9) - intKin
End If
Exit For
End If
Next zZ
Next zQ
End With
End Sub
Da die Nationalität im Input weggefallen ist, kann sie nicht mehr übertragen werden.
intEhe und intKin sind Namen von Variablen in VBA. Ich verstehe deine Frage nicht.
Was würde sich diesbezüglich in deiner Datei ändern? Vielleicht die Texte "Verheiratet" usw.?
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
...und hier außerhalb der Konkurrenz, Erich,...
11.01.2007 04:30:26
Luc:-?
...der Vollständigkeit halber, Alina,
auch, wenn es dich jetzt kaum noch interessiert ein Ansatz für eine Formellösung zu deinem verkürzten Bsp (für's Archiv ;-) )...
Userbild
Geschrieben wdn darf nur in die weißen Felder (teilweise nur bei Bedarf). Die in best. Spalten vorhandenen Formeln müssen dann überschrieben wdn. Die Formeln können gezogen wdn. Die Spalte A (lfdNr) ist quasi die erforderliche Hilfsspalte. Alle nicht kursiven Daten im Datenfeld wurden per Formel übernommen.
Vielleicht hilft's ja mal bei einem anderen bzw ähnlichen Problem (oder wenn der Admin keine Makros zulässt!).
Gruß Luc :-?
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige