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

Nochmal: Eine Konstante in einem Protokoll ersetzt

Nochmal: Eine Konstante in einem Protokoll ersetzt
21.02.2005 17:29:39
Thorben
Hallo an alle VBA Fans!
Ich hab mal wieder ein kleines Problem. Damit es ein wenig einfachen ist, habe ich einmal die Arbeitsmappe hochgeladen:

Die Datei https://www.herber.de/bbs/user/18302.xls wurde aus Datenschutzgründen gelöscht

Es handelt sich hierbei um ein Programm was Haus-zu-Haus-Verteilungen für unseren Gemeindebrief (kirchlich, also nicht kommerziell) organisieren kann.
Die Tabelle1 ist die Auszahlungsmaske, in die mittels Barcode die ausgegebenen Quittungen eingescannt werden. Es kann nun vorkommen, dass ein Verteiler auf einmal mehr Haushalte in seinem Bezirk hat als geplant (z.B. Neubaugebiet etc.) Bei der Auszahlung sollen diese mehr verteilten Hefte aber auch finaziell berücksichtig werden. Gebe ich nun in Zelle L10 einen Wert ein, egal ob größer oder kleiner, so wäre es gut wenn eine Msg-Box erscheinen würde, die Abfragt, ob die neue Haushaltsanzahl generell für den Bezirk übernommen werden soll oder nicht. Klickt man "JA" an, so müsste der Wert aus L10 in das Arbeitsblatt "Bezirksübersicht" und in das Arbeitsblatt "Historie" in die entsprechende Zeile kopiert werden. Clickt man auf "NEIN" soll lediglich der Wert in "Historie" kopiert werden. Um die entsprechende Zeile in Bezirksübersicht zu finden, kann am besten die Information des Bezirks verwendet werden (in Tabelle1, Zelle F9). Úm den Wert in "Historie" zu übernehmen, ist es wichtig, das ein anderer Indikator verwendet wird. Am besten wäre B12, da dieser wert in der gesamten Historie nur 1x vorkommen kann. Bezirk hingegen kann mehrfach vorkommen und ist deshalb bei Historie unbrauchbar.
Ich weiß, das ein solch komplexes Problem nicht leicht zu lösen ist. Ich würde mich jedoch sehr freuen, wenn mir einer helfen könnte.
Vielen Dank im Voraus.
Thorben

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Nochmal: Eine Konstante in einem Protokoll ers
21.02.2005 19:42:16
Josef Ehrensberger
Hallo Thorben!
Viel Spass!

Die Datei https://www.herber.de/bbs/user/18475.xls wurde aus Datenschutzgründen gelöscht


Gruß Sepp
P.S.: Rückmeldung nicht vergessen!
AW: Nochmal: Eine Konstante in einem Protokoll ers
21.02.2005 20:01:28
Thorben
Hallo Sepp,
vielen Dank, das klappt ja schon ganz gut.
Eine Sache funktioniert aber noch nicht: Es ist wichtig, das die Abfrage nach der Eingabe unbedingt verschiedene offen Möglichkeiten lässt. Ja und Nein können bleiben, allerdings: Klickt man "JA" an, so müsste der Wert aus L10 in das Arbeitsblatt "Bezirksübersicht" und in das Arbeitsblatt "Historie" in die entsprechende Zeile kopiert werden. Clickt man auf "NEIN" soll lediglich der Wert in "Historie" kopiert werden.
Also muss in beiden Fällen eine Aktion ausgelösst werden.
Kannst Du das noch ändern?
Vielen Dank
Thorben
Anzeige
AW: Nochmal: Eine Konstante in einem Protokoll ers
21.02.2005 20:04:11
Josef Ehrensberger
Hallo Thorben!
Tausch' den Code gegen diesen!


      
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rng As Range
'Nur wirksam bei Änderung in "L10"
   If Target.Address = "$L$10" Then
'Wenn L10 nich leer und <> F10, dann
      If[L10] <> "" And[L10] <>[F10] Then
'Frage
         If MsgBox("Haushaltsanzahl übernehmen?", vbYesNo + vbQuestion, _
                           
"Frage") = vbYes Then
'Nummer aus F9 (replace()) in "Bezirksübersicht" suchen
            Set rng = Sheets("Bezirksübersicht").Range("A:A"). _
                        Find(what:=
CDbl(Replace([F9].Text, ".Bezirk""")), _
                        LookIn:=xlValues, LookAt:=xlWhole)
'Wenn gefunden, dann in entsprechende Zelle Wert aus L10 eintragen
               If Not rng Is Nothing Then
               rng.Offset(0, 3) =[L10]
               
End If
         
End If
'Nummer aus B12 in "Historie" suchen
            Set rng = Sheets("Historie").Range("V:V"). _
                        Find(what:=[B12].Text, _
                        LookIn:=xlValues, LookAt:=xlWhole)
'Wenn gefunden, dann in entsprechende Zelle Wert aus L10 eintragen
               If Not rng Is Nothing Then
               rng.Offset(0, 2) =[L10]
               
End If
         
      
End If
      
   
End If
End Sub 

     Code eingefügt mit Syntaxhighlighter 3.0


Gruß Sepp
P.S.: Rückmeldung nicht vergessen!
Anzeige
AW: Nochmal: Eine Konstante in einem Protokoll ers
21.02.2005 20:30:35
Thorben
Hallo Sepp,
sorry, ein kleines Prob ist immernoch drin.
Ich muss jetzt leider ganz dringend weg und kann nicht mehr länger warten.
Vll kannst du ja dir nochmal meine anfangsbeschreibung durchlesen
vielen Dank#
Thorben
AW: Nochmal: Eine Konstante in einem Protokoll ers
21.02.2005 20:52:52
Josef Ehrensberger
Hallo Thorben!
Sorry, aber ich weis nicht wo das problem liegt;-(

Gruß Sepp
P.S.: Rückmeldung nicht vergessen!
AW: Nochmal: Eine Konstante in einem Protokoll ers
22.02.2005 16:36:05
Thorben
Hallo Sepp,
erst einmal wirklich vielen Dank, dass Du dir soviel Mühe gibst.
Ich ganz kleine Änderung habe ich allerding noch:
Der erste Fall, also wenn ich auf "JA" klicke ist soweit in Ordnung: Der geänderte Wert wird nur in der Bezriksübersicht im richtigen Bezrik eingetragen.
Jetzt hätte ich aber gerne noch einen zweiten Fall, nämlich den, wenn ich auf "Nein" clicke. Momentan passiert ja nichts. Ich möchte aber, dass zum einen genau das gleiche passiert wie im ersten Fall und zusätzlich an hand von der Zelle B12 (auf dem Worksheet Tabelle1)auch die entsprechende Zeile in Historie gesucht wird, und dann auch dort die veränderte Menge eingetragen hat. Macht dir keine Sorgen, der Text der dann in der MsgBox steht ist zwar von der Aussage falsch, wird aber noch geändert. Um den entsprechenden Wert in der Historie zu suchen ist es nur zwingend notwendig, dass der Inhalt der Zelle B12 verwendet wird, da dieser nur einmal vorkommen kann.
Ich hoffe, dass ich mich jetzt nun ein wenig verständlicher ausgedrückt habe. Solltest Du noch offene Fragen haben, steh ich dir gerne Rede und Antwort.
Vielen Dank
Thorben
Anzeige
AW: Nochmal: Eine Konstante in einem Protokoll ers
22.02.2005 20:52:13
Josef Ehrensberger
Hallo Thorben
Hast du's wirklich getestet?
Wenn du auf "Ja" Klickst, wird in "Bezirksübersicht" und in "Historie" der
neue Wert eingetragen!
Bein "Nein" wird der neue Wert nur in "Historie" eingetragen!
Das war doch was du wolltest, oder?
Gruß Sepp
P.S.: Rückmeldung nicht vergessen!
AW: Nochmal: Eine Konstante in einem Protokoll ers
22.02.2005 21:52:38
Thorben
Hallo Sepp,
danke für die Rückantwort. ja ich habs getestet. Das war der letzte Code, den du mir gegeben hast. Damit klappt es nicht:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim rng As Range
'Nur wirksam bei Änderung in "L10"
If Target.Address = "$L$10" Then
'Wenn L10 nich leer und <> F10, dann
If [L10] <> "" And [L10] <> [F10] Then
'Frage
If MsgBox("Haushaltsanzahl übernehmen?", vbYesNo + vbQuestion, _
"Frage") = vbYes Then
'Nummer aus F9 (replace()) in "Bezirksübersicht" suchen
Set rng = Sheets("Bezirksübersicht").Range("A:A"). _
Find(what:=CDbl(Replace([F9].Text, ".Bezirk", "")), _
LookIn:=xlValues, LookAt:=xlWhole)
'Wenn gefunden, dann in entsprechende Zelle Wert aus L10 eintragen
If Not rng Is Nothing Then
rng.Offset(0, 3) = [L10]
End If
End If
'Nummer aus B12 in "Historie" suchen
Set rng = Sheets("Historie").Range("V:V"). _
Find(what:=[B12].Text, _
LookIn:=xlValues, LookAt:=xlWhole)
'Wenn gefunden, dann in entsprechende Zelle Wert aus L10 eintragen
If Not rng Is Nothing Then
rng.Offset(0, 2) = [L10]
End If
End If
End If
End Sub

Hab ich einen falschen Code?
Vielen Dank,
Thorben
Anzeige
AW: Nochmal: Eine Konstante in einem Protokoll ers
22.02.2005 22:44:13
Josef Ehrensberger
Hallo Thorben!
Das ist der Code!
In der Mappe die du hochgeladen hast, funzt es!
Hier nochmal dei Datei mit dem Code.
https://www.herber.de/bbs/user/18553.xls

Gruß Sepp
P.S.: Rückmeldung nicht vergessen!
AW: Nochmal: Eine Konstante in einem Protokoll ers
23.02.2005 22:21:16
Thorben
Hallo Sepp,
ja, jetzt klappt es. Sorry, irgendwie war ich wohl zu blöd.
Wie muss ich den Code denn jetzt noch abändern, wenn ich Ihn über einen Button auslösen möchte?
Vielen Dank
Thorben
AW: Nochmal: Eine Konstante in einem Protokoll ers
24.02.2005 09:57:43
Josef Ehrensberger
Hallo Thorben!
https://www.herber.de/bbs/user/18653.xls

Gruß Sepp
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige