Minulla on olemassa seuraava makro:
Sub Makro1()
Worksheets("Taul1").Activate
Set kohde = Worksheets("Taul2")
For Each solu In Range("P1:P" & Range("P65536").End(xlUp).Row)
If solu.Value = "x" Then
solu.EntireRow.Copy kohde.Range("A65536").End(xlUp).Offset(1)
End If
Next
End Sub
Tarvitsisin kuitenkin sellaisen, joka kopioi niiden rivien tiedot, joiden perässä on "x" siten, että taul1 B-sarakkeen solun sisältö kopioituisi Taul2 A-sarakeeseen riviltä 15 alkaen ja vastaavasti Taul1 A-sarakkeen Taul2:n B-sarakeeseen. Koko riviä ei tarvitsisi kopioida eikä MUOTOILUJAKAAN eli vain ARVO tarvittaisiin.
En osaa tehdä itse tätä, joten suuret kiitokset auttajille!!!
Sub Makro1()
Worksheets("Taul1").Activate
Set kohde = Worksheets("Taul2")
For Each solu In Range("P1:P" & Range("P65536").End(xlUp).Row)
If solu.Value = "x" Then
solu.EntireRow.Copy kohde.Range("A65536").End(xlUp).Offset(1)
End If
Next
End Sub
Tarvitsisin kuitenkin sellaisen, joka kopioi niiden rivien tiedot, joiden perässä on "x" siten, että taul1 B-sarakkeen solun sisältö kopioituisi Taul2 A-sarakeeseen riviltä 15 alkaen ja vastaavasti Taul1 A-sarakkeen Taul2:n B-sarakeeseen. Koko riviä ei tarvitsisi kopioida eikä MUOTOILUJAKAAN eli vain ARVO tarvittaisiin.
En osaa tehdä itse tätä, joten suuret kiitokset auttajille!!!
Vastaukset 1
Vanhimmat
Sub Makro2()
Worksheets("Taul1").Activate
Set kohde = Worksheets("Taul2")
Dim tiedotA As Object
Dim tiedotB As Object
Application.ScreenUpdating = False
For Each solu In Range("P1:P" & Range("P65536").End(xlUp).Row)
If solu.Value = "x" Then
If tiedotA Is Nothing Then
Set tiedotA = Intersect(solu.EntireRow, Columns("A"))
Else
Set tiedotA = Union(tiedotA, Intersect(solu.EntireRow, Columns("A")))
End If
If tiedotB Is Nothing Then
Set tiedotB = Intersect(solu.EntireRow, Columns("B"))
Else
Set tiedotB = Union(tiedotB, Intersect(solu.EntireRow, Columns("B")))
End If
End If
Next
tiedotA.Copy: kohde.Range("B15").PasteSpecial Operation:=xlNone, SkipBlanks:=False, Transpose:=False
tiedotB.Copy: kohde.Range("A15").PasteSpecial Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Application.ScreenUpdating = True
End Sub