Aktuell kann es Probleme bei der Anmeldung geben. Meldet Euch in dem Fall bei uns (webmaster at clever-excel-forum.de) und wir unterstützen Euch. x

Datenanalyse
#11
Hallo

versuch bitte mal diesen Teil:  Sheet1.Cells(1)  zu ersetzen durch  Worksheets(1), wenn es das 1. Blatt ist, oder durch den Tabellen Namen wie z.B. Worksheets("Tabelle1").Cells(1).  Würde mich freuen wenn es hilft.

mfg  Gast 123
Top
#12
Hallo,

habe es mit

sn = Worksheets(Tabelle1).CurrentRegion.Resize(, 5)

versucht, funktioniert aber leider nicht. Runtime error 9.

Andreas
Top
#13
Bitte, besser lesen.
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Top
#14
Danke für den Hnweis. Es sieht jetzt so aus und funktioniert.

Sub Msnb()
   sn = Worksheets(1).Cells(1).CurrentRegion.Resize(, 5)
   
   For j = 2 To UBound(sn)
      If sn(j, 3) = 20 And sn(j - 1, 3) = 21 Then
         sn(j - 1, 4) = sn(j, 1)
         sn(j - 1, 5) = sn(j - 1, 4) - sn(j - 1, 1)
      End If
   Next

   Worksheets(1).Cells(1).CurrentRegion.Resize(, 5) = sn
   Worksheets(1).Columns(4).SpecialCells(4).EntireRow.Delete
End Sub

Vielen Dank für Deine Hilfe, snb. Ich werde mir das morgen nochmal in Ruhe anschauen und auf einer größeren Datenmenge testen.

Andreas
Top
#15
Guten Morgen allerseits,

habe das Makro jetzt auf über 40.000 Datensätze angewendet und es läuft tadellos. Werde demnächst versuchen, es noch auf einige Sonderfälle hin anzupassen. Außer den Ein- und Austrittspunkten 21 und 20 gibt es nämlich noch drei weitere, wobei es z.B. möglich ist, dass ein User auf 21 eintritt und auf einem beliebigen anderen Ausgangspunkt wieder austritt. Man muss hier also wohl die IF-Abfrage entsprechend erweitern.

Des weiteren wäre es nützlich, die Datensätze, die der Abfrage nicht entsprechen, in einem getrennten Blatt zu sammeln, um sie evt. händisch zu kontrollieren.

Schließlich würde ich noch eine Umrechnung der Aufenthaltsdauer in Minuten hinzufügen.

Ich werde das jetzt mal probieren; bei Schwierigkeiten werde ich mich wieder melden.

Vielen Dank nochmals so weit.

Andreas
Top
#16
Bitte, verwende Code Tags !
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Top
#17
Du meinst das hier?


Code:
Sub Msnb()
  sn = Worksheets(1).Cells(1).CurrentRegion.Resize(, 5)
 
  For j = 2 To UBound(sn)
     If sn(j, 3) = 20 And sn(j - 1, 3) = 21 Then
        sn(j - 1, 4) = sn(j, 1)
        sn(j - 1, 5) = sn(j - 1, 4) - sn(j - 1, 1)
     End If
  Next

  Worksheets(1).Cells(1).CurrentRegion.Resize(, 5) = sn
  Worksheets(1).Columns(4).SpecialCells(4).EntireRow.Delete
End Sub


Andreas
Top
#18
Genau  :19:
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste