Microsoft Excel

Herbers Excel/VBA-Archiv

Zelle in Kreuztabelle finden und addiere

Betrifft: Zelle in Kreuztabelle finden und addiere von: Gute Laune
Geschrieben am: 29.09.2020 09:34:39

Hallo liebe Forum-Mitglieder,


Ich würde gerne Anhand von 2 Bedingungen (Tabellenblatt: Eingabe) Zellen A2&A4 die entsprechende Zelle in der Kreuztabelle auf dem Tabellenblatt Auswertung finden lassen.

Wird die Zelle gefunden, dann soll der Wert aus dem Tabellenblatt Eingabe A6 zum dem Wert der gefundenen Zelle dazu addiert werden.


Die Übertragung soll per Button erfolgen und dann gleichzeitig die Eingabezellen (A2, A4 und A6) wieder leeren (Clear Contents?) damit die nächste Strafe eingegeben werden kann.


Ist das möglich? Ich habe leider nichts passendes im Forum gefunden :-(

Vielen Dank im Voraus

Gute Laune

https://www.herber.de/bbs/user/140507.xlsm

Betrifft: AW: Zelle in Kreuztabelle finden und addiere
von: Rolf
Geschrieben am: 29.09.2020 11:11:43

Hallo (...ich hab auch gute Laune)

teste mal
Sub Eintragen()

  Dim iCol As Integer, iRow As Integer
  
  With Worksheets("Eingabe")
    If .Range("A2") = "" Or .Range("A4") = "" Then Exit Sub
    iRow = Worksheets("Auswertung").Range("A1:A100").Find(.Range("A2")).Row
    iCol = Worksheets("Auswertung").Range("A1:Z1").Find(.Range("A4")).Column
    Worksheets("Auswertung").Cells(iRow, iCol) = _
    Worksheets("Auswertung").Cells(iRow, iCol) + .Range("A6")
    .Range("A2").ClearContents
    .Range("A4").ClearContents
    .Range("A6") = 1
  End With
End Sub
..ist ohne Fehlerüberprüfung, die hast Du ja schon in Deinen Auswahlzellen.

Gruß Rolf

Betrifft: AW: Zelle in Kreuztabelle finden und addiere
von: Gute Laune
Geschrieben am: 29.09.2020 12:00:54

Hallo Rolf,

vielen Dank schon einmal für deine Hilfe :-)
Wenn ich den Code in der Beispieldatei hinterlege, dann klappt das nur bedingt, denn der Code sucht nicht nach der Variable A2 sondern nur nach A4. Er trägt also immer unter a ein egal was ich in A2 auswähle (Datei ließ sich mit dem Code leider gerade nicht hochladen).
Wenn ich den Code dann in die "echte Datei" übertrage geht es leider gar nicht mehr...dort bekomme ich folgende Fehlermeldung: Laufzeitfehler 91: Objektvariable oder With-Blockvariable nicht festgelegt...
Im Code markiert er dann
iRow = Worksheets("Auswertung").Range ("A1:A100"). Find(.Range("A2")).Row
gelb.
Hab jetzt auch versucht die Range von A1:100 auf A2:A100 zu ändern sowie A1:Z1 auf B1:AE1 aber leider ohne Erfolg...hast du da noch eine Idee?
Vielen Dank im Voraus

Betrifft: AW: Zelle in Kreuztabelle finden und addiere
von: Rolf
Geschrieben am: 29.09.2020 12:21:49

Hallo

bei mir funktioniert der Code (in Deiner hochgeladenen Datei)


https://www.herber.de/bbs/user/140512.xlsm

Gruß Rolf

Betrifft: AW: Zelle in Kreuztabelle finden und addiere
von: Gute Laune
Geschrieben am: 29.09.2020 13:37:17

Hallo Rolf,

ne leider nicht.
Wenn du in A2 des Eingabeblattes b auswählst dann schreibt er das in Zeile von a auf dem Ergebnisblatt.
Er sucht also nur nach A4 vom Eingabeblatt aber nicht nach A2.

Hast du noch eine Idee?

Danke LG

Betrifft: AW: Zelle in Kreuztabelle finden und addiere
von: Rolf
Geschrieben am: 29.09.2020 13:56:43

Hallo ?

ich weiß nicht, wo/wie Du testest, in der Datei, die ich dir geschickt habe, funktioniert alles wie es soll; die Strafe für Spieler b wird im Auswertungsblatt richtig in Zeile 3 eingetragen.

Prüfe mal die Zuordnungen in Deiner Datei, der Aufbau muss natürlich der von mir gesendeten entsprechen!

Gruß Rolf

Betrifft: AW: Zelle in Kreuztabelle finden und addiere
von: Gute Laune
Geschrieben am: 29.09.2020 15:08:00

Hallo Rolf,

ich glaube ich habe den Fehler gefunden.
Spalte A auf dem Ergebnisblatt ist mit folgender Formel versehen: =WENN(ISTFEHLER(tab_namen[Namen]);"";tab_namen[Namen]).
Dachte das ist ganz clever weil ich mir so Eingabefehler spare.
Der Code kann damit aber wohl nicht arbeiten. Wenn ich die Spieler (a,b,c usw.)manuell eingebe funktioniert es :-)
Vielen Dank für die schnelle Hilfe :-)
Kannst Du mir erklären warum das mit der wenn hier nicht funktioniert?
Vielen Dank im Voraus.

HG Gute Laune...die jetzt def. habe :-)

Betrifft: AW: Zelle in Kreuztabelle finden und addiere
von: Rolf
Geschrieben am: 29.09.2020 15:46:37

Hallo

ändere mal die beiden Zeilen iRow= und iCol= in:

iRow = Worksheets("Basis Daten").Range("A1:A100").Find(.Range("A2"), LookIn:=xlValues).Row
iCol = Worksheets("Auswertung").Range("A1:Z1").Find(.Range("A4"), LookIn:=xlValues).Column

dann sollte es auch bei Dir gehen.

Gruß Rolf

Betrifft: AW: Zelle in Kreuztabelle finden und addiere
von: Gute Laune
Geschrieben am: 29.09.2020 16:18:19

Hallo Rolf,

jetzt funktioniert es auch bei mir :-)

Vielen Vielen Dank

HG Gute Laune