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

EM Tipspiel

EM Tipspiel
08.06.2008 17:45:21
schillinger
hallo,
also es geht um folgendes, ich will mit hilfe von vba die punkte zusammen zählen wenn man richtig getippt hat. das einzige problem ist es wurde bei mir ein ziemlich grosser programm. nun meine frage , wie kann ich die zellen in vba auswählen und wieder etwas in andere zellen einfügen? zum beispiel [A1] bis [A10] > = danke im voraus

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

Betreff
Datum
Anwender
Anzeige
AW: EM Tipspiel
08.06.2008 23:34:00
fcs
Hallo Christian,
es gibt verschiedene Möglichkeiten.
1. Vor dem Starten des Makros positionierst du den Cursor auf der Zelle A1.
Die anderen Zellen werden dann relativ zu dieser Zelle vom Makro ermittelt und die Berechnungen Durchgeführt.

Sub Beispiel1()
Dim objA1 As Range 'gewählte Startzelle
Dim objBereichA As Range
Dim objBereichB As Range
Dim objBereichC As Range ' Zielzelle
Dim dblErgebnis As Double
Dim lngZeile As Long
Set objA1 = Selection
Set objBereichA = objA1.Range("A1:A10")
Set objBereichB = objA1.Range("B1:B2")
Set objBereichC = objA1.Range("C1")
'Beispielberechnung
dblErgebnis = 1
'Prüfen, ob für Alle Werte in BereichA die Bedingungen erfüllt sind
For lngZeile = 1 To objBereichA.Rows.Count
If Not (objBereichA(lngZeile, 1) > objBereichB(1, 1) _
Or objBereichA(lngZeile, 1) 


2. Während des Ablaufs des Makros werden die zu verwendenden Zellbereiche in Inpurboxen abgefragt.
Beispiel:


Sub Beispiel2()
Dim objBereichA As Range
Dim objBereichB As Range
Dim objBereichC As Range ' Zielzelle
Dim dblErgebnis As Double
Dim lngZeile As Long
Set objBereichA = Application.InputBox(Prompt:="Bitte Zellen für BereichA auswählen", _
Title:="Zellenauswahl für Berechnung", Type:=8)
Set objBereichB = Application.InputBox(Prompt:="Bitte 2 Zellen für BereichB auswählen", _
Title:="Zellenauswahl für Berechnung", Type:=8)
Set objBereichC = Application.InputBox(Prompt:="Bitte Zellen für Ergebnis auswählen", _
Title:="Zellenauswahl für Berechnung", Type:=8)
'Beispielberechnung
dblErgebnis = 1
'Prüfen, ob für Alle Werte in BereichA die Bedingungen erfüllt sind
For lngZeile = 1 To objBereichA.Rows.Count
If Not (objBereichA(lngZeile, 1) > objBereichB(1, 1) _
Or objBereichA(lngZeile, 1) 


3. Direkte Zuweisung von Bereichen


Sub Beispiel3()
Dim objWks As Worksheet
Dim objBereichA As Range
Dim objBereichB As Range
Dim objBereichC As Range ' Zielzelle
Dim dblErgebnis As Double
Dim lngZeile As Long
Set objWks = Worksheets("Tabelle2")
With objWks
Set objBereichA = .Range(.Cells(1, 1), .Cells(10, 1)) '.Range("A1:A10")
Set objBereichB = .Range(.Cells(1, 2), .Cells(2, 2)) '.Range("B1:B2")
Set objBereichC = .Cells(1, 3)                      '.Range("C1")
End With
'Beispielberechnung
dblErgebnis = 1
'Prüfen, ob für Alle Werte in BereichA die Bedingungen erfüllt sind
For lngZeile = 1 To objBereichA.Rows.Count
If Not (objBereichA(lngZeile, 1) > objBereichB(1, 1) _
Or objBereichA(lngZeile, 1) 


Gruß
Franz

Anzeige
AW: EM Tipspiel
09.06.2008 09:54:46
schillinger
sorry kann damit nichts anfangen

AW: EM Tipspiel
09.06.2008 11:00:29
fcs
Hallo Christian,
dann zeig doch mal genauer mit einer Beispieltabelle was du momentan hast und was du gerne hättest.
Die von mir beschriebenen Wege sind halt übliche Wege wie man in einer VBA-Prozedur die zu bearbeitenden Zellbereiche angibt. Darüber hinaus kann man auch noch per VBA Zellen suchen lassen oder auch Zeilen-/Spaltennummern in Schleifen abarbeiten, um die in einer Anweisung zu verwendenden Zellen/Zellbereiche zu bestimmen.
Ansonsten kannst du ja auch versuchen in deiner Zelle C1 eine Formel einzugeben, die aus den Werten in A1:A10 und B1:B2 das gewünschte Ergebnis berechnet.
Gruß
Franz

Anzeige
AW: EM Tipspiel
09.06.2008 11:24:41
schillinger
Hallo Franz danke für deine schnelle antwort ich hoffe das die beiliegende tabelle dir weiter hilft.
Vielleicht habe ich mich falsch ausgedrückt aber was ich gerne wissen wollte ist, wie ich die resultate mit den getippten resultate vergleichen kann ohne dass das programm zu gross wird. Wenn richtig getippt wurde soll eine 1 in die gelbe Zelle geschrieben werden.
Wenn du noch fragen haben solltest bin den ganzen tag am experimentieren und werde dir sofort eine antwort schreiben.
danke im voraus
mfg Christian

AW: EM Tipspiel
09.06.2008 11:59:17
fcs
Hallo Christian,
das folgende Makro führt eine entsprechende Auswertung aus.
Gruß
Franz

Sub Auswerten()
Dim Zeile As Long, Spalte As Long
Dim wks As Worksheet
Dim Toto As Integer
Set wks = Worksheets("Tabelle1")
With wks
'Alle zeilen, für die in Spalte 4 (D) ein Ergebnis eingetragen ist abarbeiten
For Zeile = 2 To .Cells(.Rows.Count, 4).End(xlUp).Row
'Toto-Ergebnis für Spiel in Zeile ermitteln
If .Cells(Zeile, 6) = .Cells(Zeile, 4) Then
Toto = 0
ElseIf .Cells(Zeile, 6) 


AW: EM Tipspiel
09.06.2008 14:17:00
Christian
vielen dank franz das hat mir sehr geholfen

Anzeige
AW: EM Tipspiel
11.06.2008 08:10:38
schillinger
hallo
danke nochmal für alles, es hat alles wunderbar geklappt, es gibt nur ein problem, und zwar habe ich zwei tabellen untereinander und bei den noch nicht gespielten Spielen ist es so dass sie als gleichstand angenommen werden. ich habe schon alles versucht aber habe keine Lösung gefunden. ich habe die datei auf den server hochgeladen damit man sich ein bild von dem ganzen machen kann.
danke im voraus
https://www.herber.de/bbs/user/52996.xls

AW: EM Tipspiel
11.06.2008 09:41:00
fcs
Hallo Christian,
hier die angepasste Prozedur, die einen vorgegebenen Zeilenbereich auswertet.
Diese wird dann von der Command-Button-Prozedur mehrfach aufgerufen und die 1. und letzte Zeile als Parameter übergeben.
Gruß
Franz

Private Sub CommandButton1_Click()
Call Auswerten(Zeile1:=4, Zeile2:=27)
Call Auswerten(Zeile1:=33, Zeile2:=56)
End Sub
Sub Auswerten(Zeile1 As Long, Zeile2 As Long)
'Auswerten der Tipps von Zeile1 bis Zeile2
Dim Zeile As Long, Spalte As Long
Dim wks As Worksheet
Dim Toto As Integer
Set wks = Worksheets("Tabelle1")
With wks
'Alle Zeilen im angegebenen Zeilenbereich abarbeiten
For Zeile = Zeile1 To Zeile2
'Prüfen, ob Ergebnis eingetragen
If Not (IsEmpty(.Cells(Zeile, 5)) Or IsEmpty(.Cells(Zeile, 7))) Then
'Toto-Ergebnis für Spiel in Zeile ermitteln
If .Cells(Zeile, 7) = .Cells(Zeile, 5) Then
Toto = 0
ElseIf .Cells(Zeile, 7) 


Anzeige
AW: EM Tipspiel
11.06.2008 10:39:00
Christian
vielen dank nochmals Franz

AW: EM Tipspiel
09.06.2008 11:31:43
fcs
Hallo Christian,
du hast vergessen, den Link auf die hochgeladenen Datei in deine Frage zu kopieren!
Auch wenn Formeln ein wenig mehr Speicherplatz brauchen als wenn nur eine einzelne Ziffer in der Zelle steht, kann ich mir nicht vorstellen, dass dadurch die Dateigröße so exessiv viel größer wird.
Gruß
Franz

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige