EXCEL-VBA Oszlopok nem egyező sorainak másolása.
2022-05-12T02:01:30+02:00
2022-05-20T01:19:52+02:00
2022-06-28T21:21:11+02:00
PROMETHEUS11
Sziasztok!

Szeretnék egy kis segítséget kérni a nálam sokkal tapasztaltabbaktól!

Amit szeretnék:

Van A és B oszlop.

Szeretném ha a makró átmásolná az A oszlop azon elemeit, melyek nem találhatók meg a B oszlopban úgy, hogy azokat a B oszlop üres soraiba másolja. (Tehát nem ír felül semmit a B oszlopban.)

Köszönöm!
Mutasd a teljes hozzászólást!
Megoldottam:
Sub teszt ()
Dim A, B, Igaz, Szamlalo As Integer
A = 1

Do Until A = 10
Igaz = 0

For B = 1 To 10
If Thisworkbook.Sheets("Teszt").Range("A" &  A).Value = ThisWorkbook.Sheets("teszt").Range("B" & B).Value Then
Igaz = Igaz + 1
End if
Next

If Igaz = 0 Then
Szamlalo = 1
For i = 1 to 10
If ThisWorkbook.Sheets("teszt").Range("B" & i). Value = " " And Szamlalo = 1 Then Thisworkbook.Sheets("Teszt").Range("B" &  i).Value = Thisworkbook.Sheets("Teszt").Range("A" &  A).Value
Szamlalo = Szamlalo + 1
End if
Next

A = A +1
Loop
End Sub
Mutasd a teljes hozzászólást!

  • Hali!

    Mutasd – VBA-forráskóddal/-részlettel –, hogy eddig mivel, hogyan próbálkoztál, meddig jutottál el, mi nem megy, miben/hol akadtál el!

    Mutasd a teljes hozzászólást!
  • Private Sub ToggleButton2_Click()
    If ToggleButton2.Value = True Then
    Dim Logic As Boolean
    L = 10
    szamlalo = 1
    For H = 1 To 10

    Logic = Workbooks("elso").Sheets("Boszlop").Range("K" & L).Value = ThisWorkbook.Sheets("Aoszlop").Range("B" & H).Value
    If Logic = True Then
    L = L + 1
    Else

    For O = 1 To 100

    If ThisWorkbook.Sheets("Aoszlop").Range("B" & O).Value = "" And szamlalo = 1 Then
    ThisWorkbook.Sheets("Aoszlop").Range("B" & O).Value = Workbooks("elso").Sheets("Boszlop").Range("K" & L).Value
    szamlalo = szamlalo + 1

    End If
    Next
    End If
    Next
    End If
    End Sub
    Mutasd a teljes hozzászólást!
  • Sajnos így mindig csak a legelső elemet rakja be az egyik oszlopból a másik oszlop üres helyére. :\
    Mutasd a teljes hozzászólást!
  • Megoldottam:
    Sub teszt ()
    Dim A, B, Igaz, Szamlalo As Integer
    A = 1

    Do Until A = 10
    Igaz = 0

    For B = 1 To 10
    If Thisworkbook.Sheets("Teszt").Range("A" &  A).Value = ThisWorkbook.Sheets("teszt").Range("B" & B).Value Then
    Igaz = Igaz + 1
    End if
    Next

    If Igaz = 0 Then
    Szamlalo = 1
    For i = 1 to 10
    If ThisWorkbook.Sheets("teszt").Range("B" & i). Value = " " And Szamlalo = 1 Then Thisworkbook.Sheets("Teszt").Range("B" &  i).Value = Thisworkbook.Sheets("Teszt").Range("A" &  A).Value
    Szamlalo = Szamlalo + 1
    End if
    Next

    A = A +1
    Loop
    End Sub
    Mutasd a teljes hozzászólást!
abcd