Anzeige
Archiv - Navigation
564to568
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
564to568
564to568
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
@Luc, betr. knifflige For Next Schleife
09.02.2005 08:36:26
Henri
Hi Luc,
bin jetzt wieder online und teste das Ganze. Die Parametereingabe von dir würde ich sehr gern ausprobieren.
Übrigens wird kein #BEZUG bei mir ausgegeben. Wo ist denn das bei dir der Fall?
Zu der If Verzweigung.
--> WENN der Wert der aktuellen Zelle ungleich dem Wert einer Zelle darüber ist DANN
(hier suche ich nach dem Ende des jeweiligen Landes)
WENN die Zelle nicht leer ist DANN
Zeile einfügen (damit ich da die Formel reinschreiben kann) und
PivotTabellenFormel in die Zelle schreiben:
=PIVOTDATENZUORDNEN(Statistik!A2;"Deutschland A")
(heißt also dass ich die Summe von A (und M und Z) des jeweiligen Landes haben möchte)
ANSONSTEN wenn schon eine Leerzeile existiert keine einfügen sondern nur die Formel reinschreiben
ANSONSTEN wenn der Wert der Zelle gleich dem der Darüberliegenden ist eine Zeile weiter springen.
Übrigens ist die PivotTabelle nur Mittel zum Zweck. Ich benötige sie nur wegen der Werte und wie diese aussieht ist mir Schnuppe. Ich könnte das Tabellenblatt mit der PivotTabelle auch verstecken.
Gesamtdaten gebe ich übrigens nicht aus, sondern nur die Summe von jeweils A, M und Z der einzelnen Länder.
Hoffe ich habe das einigermassen verständlich erklärt.

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: OK z.K.genommen
Luc
Hallo Henri,
vielleicht ist der Bezug in meinem Material anders als in deinen Originalen, dann müsste es das ja schon sein. Falls du an der InputBox-Alternative interessiert bist, teile es mit, wenn du den Test durch hast.
Bis dann, Luc
ich haben fertig... fast
09.02.2005 13:43:22
Henri
Hi Luc,
jetzt funktioniert mein Code.
Hier https://www.herber.de/bbs/user/17723.xls kannst du dir das Ergebnis mal anschauen.
Habe nur noch ein Problem das ich nicht lösen konnte.
Für das letzte Land (Weissrussland) habe ich es nicht geschafft eine Pivotdatenzuordnung zu bekommen. Habe die Formel händisch in die Zelle eingegeben (=PIVOTDATENZUORDNEN(Statistik!A2;"Weissrussland A")) und selbst da bekomme ich ein #NV. Ich kapiere einfach nicht warum.
Ja, ansonsten funkt es. Falls dir ncoh was einfällt, sag bescheid. Wenn du mir noch die alternative Inputfunktion verrätst bin ich fast zufrieden.
Danke
Henri
Anzeige
AW: ...der Rest
Luc
Okay Henri,
mir geht's heut nicht besonders, total erkältet, aber trotzdem... Rätsel über Rätsel: MS muss auch ein X-Files-Archive haben. Bei mir reagiert die sub nicht genauso wie bei dir:
1. habe ich den genannten Fehler, weil das Statistik-Kriterium so nicht in den DS exist.
2. die letzte Zeile macht keine Schwierigkeiten, aber intEnd in der do_while-Abfrage nur um 1 erhöhen, damit diese Zeile durch die sub nicht mitbehandelt wird. Dann müsste es auch bei dir mit dem letzten Satz klappen.
Es kann natürlich auch sein, dass ich die Eingabeaufforderungen in der InputBox falsch verstehe (meine: C - B - 2), aber so schien es mir logisch.
Sub Statistik()
Static inpBox As String 'neue Var: inpBox,ixVar
Dim strQuelleDaten As String, strQuelleLand, strVergleich As String, strFormel As String
Dim strRowName As String, strColumnName As String, ixVar As String
Dim i As Integer, intEnd As Integer, intZeile As Long
Dim wksDaten As Worksheet

'On Error GoTo ERRORHANDLER

'Daten abfragen********************************************************************************
'***neu*gestaltete*Parametereingabe*mit*nur*1*InputBox************************A*N*F*A*N*G******
If inpBox = "" Then
inpBox = "SpSAK:SpVD:ZlDB"
End If
ixVar = "eintragen"
ix: inpBox = InputBox("Bitte folgende Standortangaben " & ixVar & "..." & vbLf & _
"- SpBuchst Statistik-Auswertkriterium," & vbLf & _
"- SpBuchst Vergleichsdaten," & vbLf & _
"- 1.Zeile Datenbereich", "Eingabe Datenstandorte", inpBox)
If inpBox = "SpSAK:SpVD:ZlDB" Or InStr(inpBox, "?") Then
ixVar = "wiederholen": GoTo ix
End If
If inpBox = "" Then Exit Sub
strQuelleLand = UCase(Left(inpBox, InStr(inpBox, ":") - 1))
inpBox = UCase(Mid(inpBox, InStr(inpBox, ":") + 1))
strQuelleDaten = Left(inpBox, InStr(inpBox, ":") - 1)
intZeile = Mid(inpBox, InStr(inpBox, ":") + 1)
inpBox = strQuelleLand & ":" & inpBox
Select Case strQuelleLand
Case "A" To "Z", "AA" To "IV" 'hier Einschränkung bei Bedarf praxisnäher gestalten!
Case Else
inpBox = WorksheetFunction.Substitute(inpBox, strQuelleLand & ":", "?:")
End Select
Select Case strQuelleDaten
Case "A" To "Z", "AA" To "IV" 'hier Einschränkung bei Bedarf praxisnäher gestalten!
Case Else
inpBox = WorksheetFunction.Substitute(inpBox, ":" & strQuelleDaten & ":", ":?:")
End Select
Select Case intZeile
Case "1" To "65535" 'hier Einschränkung bei Bedarf praxisnäher gestalten!
Case Else
inpBox = WorksheetFunction.Substitute(inpBox, ":" & intZeile, ":?")
End Select
If InStr(inpBox, "?") Then
ixVar = "wiederholen"
GoTo ix
End If
'***neu*gestaltete*Parametereingabe*mit*nur*1*InputBox****************************E*N*D*E******
usw. wie gehabt! Aber im Prinzip reicht deine Methode mit 3 Boxen auch, solange man nicht merkt, dass es drei sind. Noch toller ist natürlich eine Userform. Wenn du das aber nur für deine eigene Anwendung konzipiert hast, lohnt sich das alles nicht.
Machs gut, bleib gesund und lass hören. Wenn von mir nichts mehr kommt, lieg ich endgültig flach.
Ciao Luc
Anzeige
AW: ...der Rest
10.02.2005 08:29:11
Henri
Hi Luc,
na dann ich wünsche dir gute Besserung.
Dein Code klappt super, vielen Dank.
Falls noch was ist melde ich mich.
Übriggens hat mein Problem mit der letzten Zeile nichts mit meinem VBA Code zu tun.
Aber ich werde es schon irgendwie reparieren...
Danke und Grüße
Henri

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige