[VisualBasic] problem mit VBA in Excel

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von Grobi, 31. Juli 2008 .

Schlagworte:
Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 31. Juli 2008
    problem mit VBA in Excel

    hey leute,

    hab ein problem mit nen vba script/prog in excel
    werde gleich mal den code posten und dann den rest schreiben:
    Code:
    Sub ATScheck()
    
    Dim i As Integer
    Dim j As Integer
    Dim ats1 As String
    Dim ats2 As String
    Dim atsx As String
    
    i = 417
    j = 417
    Do While i = 420 '1223
     ats1 = Range("O" & i)
     'MsgBox (ats1) nur als test
     Do While j = 748
     ats2 = Range("S" & j)
     'MsgBox (ats2) nur als test
     If ats1 = ats2 Then
     atsx = Range("T" & j)
     Range("N" & i).Value = atsx
     'MsgBox (atsx) nur als test
     Else
     j = j + 1
     End If
     Loop
     i = i + 1
    Loop
    End Sub
    kurz erklärt:

    in der spalte "O" stehen mehrere namen, teilweise auch die selben öfters.
    in der spalte "S" stehen alle namen die vorkommen könnten
    eine spalte daneben ("T") steht etwas, das ich in die spalte "N" kopieren möchte, falls "O" und "S" gleich ist.

    z.b.

    Code:
    |Spalte N|Spalte O|...........|Spalte S|Spalte T|
    
    | |name12 |...........|name12 |copyme1 |
    | |name12 |...........|name13 |copyme2 |
    | |name13 |...........|name14 |copyme3 |
    
    als pseudocode:

    Wenn Spalte "O"x GLEICH Spalte "S"x Dann Kopiere Spalte "T"x nach Spalte "N"x
    Wenn Spalte "O"x UNGLEICH Spalte "S"x Dann "S"x +1 bis gefunden wird.
    Dann wieer zum anfang

    danke schon mal an jede helfende hand

    greetz Gröbi
     
  2. 31. Juli 2008
    AW: problem mit VBA in Excel

    Deine Schleife wird nie beginnen, weil du als Bedingung "i = 420" formuliert hast, i aber am Anfang auf 417 gesetzt wird.

    Ich würde es so machen:

    Code:
    For i = 1 To 16 Step 1 '16 = Anzahl der Datensätze
     If Range("O" & i).Value = Range("S" & i).Value Then
     Range("N" & i).Value = Range("T" & i).Value
     End If
    Next
    Ich hoff, dass ich dein Problem richtig verstanden hab
     
  3. 1. August 2008
    AW: problem mit VBA in Excel

    hab nach langen probieren es so geschafft:

    Code:
    For i = 417 To 1223
     ats1 = Range("O" & i)
     For j = 417 To 749
     ats2 = Range("S" & j)
     If ats1 = ats2 Then atsx = Range("T" & j)
     If ats1 = ats2 Then Range("N" & i).Value = atsx
     Next j
     
    Next i
    danke , hab auf jedenfall jetzt alles fertig

    danke greetz Gröbi

    *closed*
     
  4. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.