Thema Datum  Von Nutzer Rating
Antwort
Rot neue Zeilen nach Überprüfung von Array einfügen
23.01.2013 12:03:39 Lars
NotSolved
25.01.2013 14:09:16 Lars
NotSolved

Ansicht des Beitrags:
Von:
Lars
Datum:
23.01.2013 12:03:39
Views:
2630
Rating: Antwort:
  Ja
Thema:
neue Zeilen nach Überprüfung von Array einfügen

Hallo,

ich habe folgende Datengrundlage:

http://www42.zippyshare.com/v/37758364/file.html

Ich bastel nun an einem Makro, welches mir die "Blöcke" angleicht. In diesen Blöcken fehlen entweder zwei oder nur eine Zeile, die immer gleich sind:

Block 1: a,b,c,d,e,f,g

Block 2: a,b,c,d,e,f

Block 3: a,b,c,d,e

Die Logik habe ich soweit fertig (aber nicht getestet). Ich weiß leider nicht, wie ich die Zeilen nun einfügen kann.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
Option Explicit
 
Sub sss()
 
Dim suchArray(1 To 9) As String
Dim z As Variant
Dim w, x, y As Long
Dim wksQuelle As Excel.Worksheet
Dim rngQuelle As Excel.Range
Dim a As Long
Dim zaehler As Long
Dim objArrLst As Object
 
Set objArrLst = CreateObject("System.collections.arraylist")
Set rngQuelle = wksQuelle.UsedRange
Set x = 1
 
End Sub
 
'Schleife für max Zeilen
While x <> rngQuelle
'Schleife zur Befüllung des Arrays
 
    'Zaehlvariablen zurücksetzen
    Set w = 1
    Set zaehler = 0 'Zaehler kann maximal 2 sein
     
    'Befüllen des Arrays mit neun Werten
    For y = x To x + 9
    'Speichern des Wertes in Spalte E
        suchArray(w) = z(b, e)
    Next y
 
    'Durchsuchen nach doppelten Werten
    For a = 0 To UBound(suchArray) - 1
      If objArrLst.Contains(suchArray(a)) = False Then
         objArrLst.Add suchArray(a)
        Else
            zaehler = zaehler + 1
      End If
    Next
     
    'Einfügen der neuen Zeilen innerhalb des Arrays
    If zaehler = 2 Then
        'zwei Zeilen einfügen mit Inhalte Spalte A und B von Zelle drüber
        'Spalte C und E ein bestimmter String pro Zeile (bsp zeile1 und zeile 2)
        'Spalte D und F 0
    ElseIf zaehler = 1 Then
        'nur eine Zeile einfügen (zeile1) wie oben
    End If
     
    '#nächster Block
    x = x + 9
    Set objArrLst = Nothing
    Erase suchArray
Wend

Für Hilfe wäre ich sehr dankbar!


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot neue Zeilen nach Überprüfung von Array einfügen
23.01.2013 12:03:39 Lars
NotSolved
25.01.2013 14:09:16 Lars
NotSolved