Wenn bedingungen erfüllt, übernehmen

liebe excel-profis,
bin gerade total am verzweifeln…
folgende situation - hoffe, dass ich es verständlich wiedergeben kann:
ich will aus einem excel-tabellenblatt namens „STATUS“
(für die bessere vorstellung: spalte B - AZ und zeile 50 bis 1401 sind komplett mit daten gefüllt) in einem anderen tabellenblatt namens „AUSWERTUNG“ soll folgendes passieren:
wenn in der spalte U im tabellenblatt „status“ eine 1 steht UND wenn in der spalte AX > 2 sollen die werte/daten aus den spalten D, L, W, X, AX, AY im tabellenblatt „auswertung“ übernommen werden.
da sich die daten/werte täglich ändern, müsste dieses sinnvoll im tabellenblatt „auswertung“ dargestellt werden.
dann wäre es noch vom vorteil, wenn diese auswertung (immer aktuell und vielleicht auch über ein steuerungselement) bei betätigung eines buttons auch gleich per Mail versendet werden kann,
natürlich dann auch gleich mit einem standardtext (wenn wir schon dabei sind…)
würde mich über ideen und lösungen super freuen…
viele verzweifelte grüsse…

Pech für dich
Hallo melja,

ich wollte grad beginnen dir eine Lösung zu erarbeiten, da fand ich heraus daß du crosspostest:
http://www.office-loesung.de/ftopic422004_0_0_asc.php

Das unterstütze ich nicht.
Warte halt ab was dort noch für Antworten kommen, die sind dort dehr gut (treiben sich dort doch auch hiesige Mods rum *lächel*)

Gruß
Reinhard

Hatte gerade Lust drauf, das zu machen :smile:

Pack das in ein neues Modul rein

Const cStatusWert As String = „AX“
Const cStatusWertAX As String = „2“
Const cStatusRow As String = „U“
Const cStatusVal As String = „1“

Const cStartRow As Integer = 50
Const cEndRow As Integer = 1401

Const cSheet1 As String = „STATUS“
Const cSheet2 As String = „AUSWERTUNG“

Private Function CheckStatus(iRow As Integer) As Boolean
With Worksheets(cSheet1)
If .Cells(iRow, cStatusRow).Value = cStatusVal Then
If .Cells(iRow, cStatusWert).Value > cStatusWertAX Then
CheckStatus = True
End If
End If
End With
End Function
Public Sub ActWorkSheet()
Dim i As Integer

For i = cStartRow To cEndRow
If CheckStatus(i) = True Then
PutToSheet i
End If

Next
End Sub
Private Sub PutToSheet(iRow As Integer)

Worksheets(cSheet2).Cells(iRow, „D“).Value = Worksheets(cSheet1).Cells(iRow, „D“).Value
Worksheets(cSheet2).Cells(iRow, „L“).Value = Worksheets(cSheet1).Cells(iRow, „L“).Value
Worksheets(cSheet2).Cells(iRow, „W“).Value = Worksheets(cSheet1).Cells(iRow, „W“).Value
Worksheets(cSheet2).Cells(iRow, „X“).Value = Worksheets(cSheet1).Cells(iRow, „X“).Value
Worksheets(cSheet2).Cells(iRow, „AX“).Value = Worksheets(cSheet1).Cells(iRow, „AX“).Value
Worksheets(cSheet2).Cells(iRow, „AY“).Value = Worksheets(cSheet1).Cells(iRow, „AY“).Value
End Sub

Es sollte eigentlich selbsterklärend sein. Das ist der Part bzgl. der Wertübernahme und der Statusabfrage. Kannst ja jetzt noch nen Button mit der Makrozuweisung auf ActWorksheet setzen.

Bzgl. der Mail

Sub SendMail(Adr$, AdrK$, Betrifft$, Text$, Pfad$)
Dim outl, Mail As Object
Set outl = CreateObject(„Outlook.Application“)
Set Mail = outl.CreateItem(0)
Mail.Subject = Betrifft
Mail.Body = Text
Mail.To = Adr
Mail.CC = AdrK
If Pfad „“ Then Mail.Attachments.Add Pfad
Mail.ReadReceiptRequested = True
Mail.Send
End Sub

Viele Grüße

Mario

hallo mario,

vielen dank. ich werde mich sofort mal ran machen und probieren, ob dein vorschlag so funktioniert.
ich melde mich dann…

viele liebe grüße
melanie

hi mario,

wollte doch gerade starten, da sehe ich dass der URHEBER der Tabelle, diese mit Passwort geschütz hat, sodass es nicht möglich ist eine weitere funktion hinzuzufügen :frowning:

jetzt muss die „auswertung“ in einer anderen neuen excel-datei stattfinden.
dann ist ja nun dein vorschlag teilweise hinfällig. kannst du mir noch kurz erläutern an welchen stellen jetzt neue begriffe/befehle eingefügt werden müssen?

schon mal ein dank im voraus :smile:

grüße Melanie

Du musst nur die Konstanten cSheet1 oder cSheet2 ändern. Der Rest bleibt.
Das ist die Quell-Tabelle und die Zieltabelle

wie wäre dann der code hierfür?
workbook? oder wie werden diese dann betitelt. wenn die namentlich genannt werden müssen, müssen die dateien dann mit „“ gekennzeichnet sein?

Hallo Reinhard,
ich (das ist meine Meinung) finde das etwas sehr weit hergeholt: Wie weit möchtest du denn ein „Crossposting“ definieren?

  • Das selbe Forum? OK, das würde ich auch noch so sehen.
  • Andere (Internet-)Foren? Da habe ich schon meine Zweifel.
  • Was ist, wenn sich der UP bei Freunden/Bekannten Rat holt?
  • Was ist, wenn er sich in Büchern schlau macht?
    Ich finde es sehr „legal“ und berechtigt, wenn man versucht, sich bei verschiedenen Quellen schlau zu machen. Das erweitert den Horizont.
    Ich für meinen Teil verwende weniger Zeit darauf herauszufinden, ob eine Frage auch anderswo gestellt wurde, als darauf, dem Fragen zu antworten.
    Aber auch ich finde es schön, wenn er bekannt gibt, dass und wo wer eine Antwort bekommen hat.

Gruß, Andreas

workbook.open - Dateipfad etc. Das musst du im Bereich reinschreiben, der für CheckStatus ist.

Hallo Andreas,

Wie weit möchtest du denn ein „Crossposting“ definieren?

mit der gleichen Anfrage nahezu zeitgleich viele Leute beschäftigen, die voneinander nichts wissen.

  • Das selbe Forum? OK, das würde ich auch noch so sehen.
  • Andere (Internet-)Foren? Da habe ich schon meine Zweifel.

Warum ist da ein Unterschied?

Ein CP erscheint an drei Orten, egal unterschiedliches Brett in w-w-w oder unterschiedliche Foren.
In allen drei Orten beginnen hilfsbereite Leute damit sich Gedanken zu machen, Zeit zu investieren u.v.m. um dem Anfrager zu helfen.

Jetzt hat einer eine Superlösung, DIE Lösung und zeigt sie. Die leute an den anderen Orten wissen nix davon und investieren weiter Zeit und mÜhe, alles für den Mülleimer, auch wenn die auch auf DIE Lösung kamen.

Dazu kommt noch, wenn da ein CP sagen wir mal pro Anfrage und Ort 10 Leute „einspannt“, sind diese 30 Leute in ihrer dafür nötigen zeit nicht mehr „verfügbar“ für andere Hilfesuchende.
D.h., ein CP „vernichtet“ Hilfezeit für andere Hilfesuchende.

Konkret heißt das, im *glaub* Excelbrett war es kürzlich, war eine Anfrage, ich hab Zeit und Mühe investiert um sie zu lösen.
Bekam es halbwegs gut hin.
Leider erst dann mischte ein w-w-wler sich ein und wies auf Crossposting hin, denn die gleiche Anfrage war schon längst gelöst in einem anderen Forum.

Also war alles was ich machte für die Katz.

Vielleicht wirke ich „hart“ wie ich mit CPs umgehe. Ich bin da nicht der Einzige. Das machen viele Ofthelfer so.

Ich glaube, es läuft immer gleich. Man lernt z.B. Excel, kann#s ein bißchen und freut sich wenn man jmdm. helfen kann.
Beantwortet also Anfragen in Foren. Und anfangs versteht man gar nicht, so wie du, warum manche so schroff auf bestimmte Dinge reagieren.

Nach paar Jahren verstehste das, du weißt dann das es Usus ist bei erkannten CPs darauf hinzuweisen, aus dem Grund andere Hilfswillige vor Papierkorbarbeit zu warnen.

Und OT, du verstehst dann auch warum oftmals uunter Antworten ausdrücklich steht, keine privaten mails, alle Fragen im Forum stellen.

Das hat nix damit zu tun daß die leute „böse“ sind. Das sind Erfahrungen. Ansonsten haste ruckzuck täglich viele Mails die dich quasi als kostenlosen Privatlöser mißbrauchen.

Was ist, wenn sich der UP bei Freunden/Bekannten Rat holt?

  • Was ist, wenn er sich in Büchern schlau macht?

Beides okay.

Ich finde es sehr „legal“ und berechtigt, wenn man versucht,
sich bei verschiedenen Quellen schlau zu machen. Das erweitert
den Horizont.

Ja, aber nicht wenn man da Menschen die hinter den Quellen bei CP stecken „verarscht“ werden.

Ich für meinen Teil verwende weniger Zeit darauf
herauszufinden, ob eine Frage auch anderswo gestellt wurde,
als darauf, dem Fragen zu antworten.

Du unterstellst mir daß ich das immer abprüfe? Völlig falsch.
War Zufallsentdeckung.

Aber auch ich finde es schön, wenn er bekannt gibt, dass und
wo wer eine Antwort bekommen hat.

Das wäre fair. Wenn der CP-Poster bekannt gibt wo er noch nachgefragt hat oder sogar überall auch gleich bekannt gibt wenn er eine Lösung bekam ist alles in Ordnung.

Leider, so meine langjährigen Erfahrungen sind CPler oft identisch mit denjenigen die nie Feedback geben :frowning:

@Mod Kannst ja wenn du willst dieses kleine OT-Sache löschen, aber bitte erst in 2-3 Tagen, also ausreichend daß Andreas sie lesen kann. Dankeschön.

Gruß
Reinhard

[MOD] Gesperrt wegen off-topic!
Grüezi zusammen

Ja, wir möchten hier keine solche Diskusion führen - falsches Brett.
Daher sperre ich diesen Zweig erstmal…

Mit freundlichen Grüssen

Thomas Ramel

  • MVP für MS-Excel -