Thema Datum  Von Nutzer Rating
Antwort
20.06.2013 09:22:08 Gast52330
NotSolved
20.06.2013 09:31:37 schokobons
NotSolved
Rot Vergleich mit Schleifen
20.06.2013 19:46:23 Gast28654
NotSolved
20.06.2013 23:40:27 schokobons
Solved

Ansicht des Beitrags:
Von:
Gast28654
Datum:
20.06.2013 19:46:23
Views:
1033
Rating: Antwort:
  Ja
Thema:
Vergleich mit Schleifen

Okay verständlich..

 

Bisher habe ich folgenden Code:

Es erscheint kein Laufzeitfehler, aber das gewünschte ergebnis leider auch nicht

wenn werte von wkb1 nicht in wkb2 enthalten sind sollen diese kopiert (samt der zelle rechts nebendran auch) werden

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
Sub Aktualisieren()
Dim i, j As Integer
Dim wkb1 As Workbook
Dim wkb2 As Workbook
Dim wert1, wert2 As String
Dim anfueg As Boolean
 
    Set wkb1 = Workbooks("KonstruktionsDatenVerwaltung.xlsm") 'wäre dann Komponentensheet
    'Hier den Pfad von der Datei mit den Komponenten eintragen
    'bzw. Pfad von Stückliste
    Set wkb2 = ThisWorkbook
 
    anfueg = True
 
    i = 2 'steht für Zeile 2 im Sheet Stücklisten
 
        Do While wkb1.Worksheets("Stücklisten").Cells(i, 1) <> ""
        'Sheet Stückliste ab Zeile 2 Spalte 1 falls ungleich
        j = 2
        wert1 = wkb1.Worksheets("Stücklisten").Cells(i, 1).Value 'Definition von S-Nrn in den Zellen als Wert 1
 
                Do While wkb2.Worksheets("Komponentenübersicht").Cells(j, 1) <> ""
                wert2 = wkb2.Worksheets("Komponentenübersicht").Cells(j, 1).Value ' Def. Komponente von KSheet
                j = j + 1 'Zeile darunter
                 
                        If wert1 = wert2 Then
                        'falls in Liste enthalten nicht anfügen bzw. wenn werte identisch
                        anfueg = False ' nicht anfuegen
                        End If
                Loop
                If anfueg = True Then ' Es wird definiert was bei 'anfuegen' getan wird
                'j enthält die erste freie zeile
                wkb2.Worksheets("Komponentenübersicht").Cells(j, 1).Value = wert1
                ' Wert bzw. Snr wird in die erste freie Zeile übernommen
                wkb2.Worksheets("Komponentenübersicht").Cells(j, 2).Value = wkb1.Worksheets("Stücklisten").Cells(i, 2).Value
                ' es wird zudem noch die zweite spalte hinzugefügt
                End If
 
                anfueg = True
                i = i + 1
                Loop
 
        Set wkb1 = Nothing
         
        Set wkb2 = Nothing
End Sub

 


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
20.06.2013 09:22:08 Gast52330
NotSolved
20.06.2013 09:31:37 schokobons
NotSolved
Rot Vergleich mit Schleifen
20.06.2013 19:46:23 Gast28654
NotSolved
20.06.2013 23:40:27 schokobons
Solved