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

if mit 2 Bedingungen im VBA ?

if mit 2 Bedingungen im VBA ?
20.02.2005 10:59:50
Korl
Hallo,
VBA ist doch immer wieder eine Hürde für mich. :-((
If Worksheets("Druck").Range("$G$1") = 2000 & Range("K1").Value größer Range("K1") Then
MsgBox ("Das Jahr ist nicht vorhanden! ")
End If
Wenn in G1 = 2000 soll Makro anhalten
wenn der Wert in K1 , größer ist als K1, dann Makro anhalten. (klingt wie Zirkelbezug)
Geht das überhaupt?
Gruß Korl

25
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: if mit 2 Bedingungen im VBA ?
20.02.2005 11:06:27
Thom@sCH
Hallo Korl
...wenn der Wert in K1 , größer ist als K1, dann Makro anhalten. (klingt wie Zirkelbezug)?
Was ist das für eine Bedingung?
Gruss Thomas
AW: if mit 2 Bedingungen im VBA ?
20.02.2005 11:08:46
Cardexperte
Hello korl, also als erstes das & mit or ersetzen, wenn du willst dass bei 2000 oder bei dem 2. Kriterium angehalten wird.
zum 2. Kriterium k1 ist immer =k1, also dies Krit ist unsinnig, muss anders festgelegt werden, ohne Kenntnis was in k1 passiert, kann nichts dazu gesagt werden!
Gruss WS
AW: if mit 2 Bedingungen im VBA ?
20.02.2005 11:32:40
Korl
Hallo Thom@sCH und Cardexperte,
Danke für Eure Mühe, ich habe die Nacht zulange am Computer gesessen ;-(
Sorum sollte es besser aussehen:
If Worksheets("Druck").Range("$G$1") = 2000 Or Range("G1") größer Range("K1") Then
MsgBox ("Das Jahr ist nicht vorhanden! ")
End If
Bei der 1. Bedingung hält das Makro an aber nicht bei der 2. Bedingung.
Was habe ich jetzt noch falsch?
Gruß Korl
Anzeige
AW: if mit 2 Bedingungen im VBA ?
20.02.2005 11:49:08
Thom@sCH
Hallo Korl
So etwas:

Sub Jahr()
If Worksheets("Druck").Range("$G$1").Value = 2000 Then Exit Sub
If Worksheets("Druck").Range("$G$1") > Worksheets("Druck").Range("$K$1").Value Then
MsgBox ("Das Jahr ist nicht vorhanden! ")
End If
End Sub

Gruss Thomas
AW: if mit 2 Bedingungen im VBA ?
20.02.2005 12:16:30
Korl
Hallo Thomas,
die 2. Bedingung läuft immer noch durch.
Gruß Korl
AW: if mit 2 Bedingungen im VBA ?
20.02.2005 12:12:26
Cardexperte
Hello Korl,
schreib mal bei der 2. Bedingung auch noch Worksheet usw. davor.
Gruss WS
AW: if mit 2 Bedingungen im VBA ?
20.02.2005 12:26:22
Korl
Hallo Thomas und WS,
ich habe es jetzt hinbekommen, Juhuuuu :-))

Sub test2()
If Worksheets("Druck").Range("$G$1").Value = 2000 Then
MsgBox ("Das Jahr ist nicht vorhanden! ")
End If
If Worksheets("Druck").Range("$G$1") > Worksheets("Druck").Range("$K$1").Value Then
MsgBox ("Das Jahr ist nicht vorhanden! ")
Exit Sub
End If
End Sub

Nochmals Danke Euch beiden!
Gruß Korl
Anzeige
Gratuliere...!! o.T
20.02.2005 12:27:44
Thom@sCH
.
Oh,Oh, Komanndo zurück!
20.02.2005 12:37:36
Korl
Hallo Thomas,
mit dem obigen Code hält die zweite Bedingung gewollt auch an aber auch für alles.
Soll heißen, dass Makro erfüllt die anderen Aufgaben auch nicht mehr!
Was nun?
Gruß Korl
AW: Oh,Oh, Komanndo zurück!
20.02.2005 13:17:48
Thom@sCH
Dann Probier nochmals deine Bedingugen zu formulieren
Hmmm... evtl. Beispielmappe hochladen
Gruss Thomas
AW: Oh,Oh, Komanndo zurück!
20.02.2005 13:23:24
Helga
Text:
Dann Probier nochmals deine Name ändern
AW: Oh,Oh, Komanndo zurück!
20.02.2005 13:57:06
Korl
Hallo,
ich habe meine Testdatei hochgeladen!

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

Gruß Korl
AW: Oh,Oh, Komanndo zurück!
20.02.2005 14:09:26
Thom@sCH
Du willst also die PivotSeitenfelder setzen, nur wenn diese in der Pivot vorhanden sind, sonst nicht zulassen?
Stimmt die Annahme? Wenn ja, würde ich die PivotSeitenfelder ansprechen.
Gruss Thomas
Anzeige
AW: Oh,Oh, Komanndo zurück!
20.02.2005 14:16:03
Korl
Hallo Thomas,
ja, das ist eigentlich auch mein Wunschziel, habs auch schon probiert.
Es löst aber wohl nicht die Ereignisprozedur aus.
Wenn Du eine Möglichkeit siehst, wäre ich Dir nicht bös, wenn Du sie mir
nennen könntest. ;-)
Gruß Korl
AW:Super schlecht
20.02.2005 14:45:23
Kurt
Wie soll das gehen
AW: AW:Super schlecht
20.02.2005 16:51:56
Korl
Hi Kurt,
ich habe meinen Code im Rahmen meiner Möglichkeiten zusammengebastelt.
Es ist auch nur für den Hausgebrauch. ;-)
Gruß Korl
AW: Seitenfelder setzen
20.02.2005 16:13:17
Korl
Hallo Thomas,
das ist ja noch ein ganz anderer Weg. Jetzt ist meine eigentliche 2. Bedingung erfüllt, es hängt aber die 1. Bedingung. Wenn das Jahr 2000 gewählt wird, soll abgebrochen werden, warum, weil in der Pivottabelle in Tabelle(Auswertung) 1 Jahr vorher angezeigt werden soll und diese nicht vorhanden ist.
Dieser Punkt ist hier nicht berücksichtigt worden.
Trotzdem bedanke ich mich wieder für Deine Mühe!
Gruß Korl
Anzeige
AW: Seitenfelder setzen
20.02.2005 19:18:36
Thom@sCH
Hallo Korl
Pass den Code einfach an die Bedingung an:

Sub EinstellenSeitenfeld()
Dim f As PivotField
Dim pItem As PivotItem
Dim j As String
If Worksheets("Druck").Range("G1").Value = 2000 Then
MsgBox ("Das Jahr ist nicht vorhanden! ")
Exit Sub
End If
j = Worksheets("Druck").Range("G1").Value
Set f = Worksheets("Druck").PivotTables("PivotTable1").PivotFields("Jahre")
With f
For Each pItem In f.PivotItems
If pItem.Caption = j Then
.CurrentPage = j
Call PivotSeitenfeldSetzen
Exit Sub
End If
Next
End With
MsgBox "Der Suchbegriff ist nicht in der Liste."
End Sub

Gruss Thomas
Anzeige
AW: Seitenfelder setzen
20.02.2005 20:18:03
Korl
Hallo Thomas,
in Tabelle "Druck" ,Zelle "G1" wird jetzt das gemacht was es ursprünglich machen sollte, nur sind wir nun ja einen anderen Weg gelaufen.
Wenn ich nur das Jahr der Pivottabelle in Tabelle "Druck" wechseln wollte, kann ich es doch direkt im Seitenfeld erledigen!
Mein eigentliches Vorhaben ist doch, wenn in dieser Pivottabelle ein Jahr angegeben wird, soll automatisch in der Pivottabelle, Tabelle "Auswertung" 1 Jahr zuvor eingetragen werden.
Also in Tabelle "Druck" = Seitenfeld Jahr = 2003
In Tabelle "Auswertung" = Seitenfeld Jahr = 2002
Warum?
In der Tabelle "Druck" setze ich unterhalb der Pivottabelle noch mal die selber Struktur der Tabelle um dort die Differenzen der Umsätze zum Vorriegen Monat ermitteln zu können.
Um die Differenz z.B. von Dezember 2002 zum Januar 2003 zu ermitteln benötige ich die zweite Tabelle!
Thomas, entschuldige bitte, dass ich Dir soviel Arbeit bereitet habe.
Manchmal gelingt es mir einen Code für meine Bedürfnisse anzupassen aber hier muß ich passen.
Gruß Korl
Anzeige
AW: Seitenfeld auf 2 Pivot ändern
20.02.2005 20:55:17
Thom@sCH
Hi Korl,
dann ergänze den Code....

Sub PivotSeitenfeldSetzen()
Dim Pivot As PivotTable
Set Pivot1 = Worksheets("Druck").PivotTables("PivotTable1")
With Pivot1
.PivotFields("Jahre").CurrentPage = Worksheets("Druck").Range("G1").Value
End With
Set Pivot1 = Worksheets("Auswertung").PivotTables("PivotTable1")
With Pivot1
.PivotFields("Jahre").CurrentPage = Worksheets("Druck").Range("G1").Value - 1
End With
End Sub

Gruss Thomas
AW: Seitenfeld auf 2 Pivot ändern
20.02.2005 21:21:48
Korl
Hallo Thomas,

Sub PivotSeitenfeldSetzen()
Dim Pivot As PivotTable
Set Pivot1 = Worksheets("Druck").PivotTables("PivotTable1")
With Pivot1
.PivotFields("Jahre").CurrentPage = Worksheets("Druck").Range("G1").Value
End With
Set Pivot1 = Worksheets("Auswertung").PivotTables("PivotTable1")
With Pivot1
'        ************* hier bleibt er stehhen mit Laufzeitfehler 1004
.PivotFields("Jahre").CurrentPage = Worksheets("Druck").Range("G1").Value - 1
End With
End Sub

Gruß Korl
Anzeige
aber jetzt!
20.02.2005 22:00:05
Korl
Hallo Thomas,
ich bin fix und fertig aber glücklich! Aber wie mußt Du Dich wohl fühlen?
Diesen Streß mit mir.
Es läuft genau nach meinen Vorstellungen.
Hab herzlichen Dank für Deine Arbeit!
Gruß Korl
Danke, mir gehts auch gut...! o.T
20.02.2005 22:01:41
Thom@sCH
.

315 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige