Sziasztok
Segítséget szeretnék kérni az alábbiakban. Van egy excel munkafüzetem, amelynek egy munkalapjára, beimportálok adatokat egy makróval egy .csv fájból. A,B,C oszlopba rakja őket. Egy olyan makrót szeretnék írni, ami a C oszlopban keres, és ha egyest talál egy cellában (amúgy vagy egy vagy 0 van bennük), akkor azt a sort kimásolja erre a munkalapra, és egy teszőleges helyre, csak nem az abc oszlopra. Magyarul keresse meg és másolja ki azokat a sorokat, amik c oszlopa 1-est tartalmaz. Makró rögzítéssel próbálkoztam, melyből a sorba rendezést (bár ez nem szükséges) és a keresést kivettem, de ugye csak sajnos egy találatig írta le sajnos.
Köszönöm a segítségeket Üdv
- 4571 megtekintés
Hozzászólások
Tehát, egy cella értéket már le tudod kérdezni, tudsz már összehasonlítani, a feladat, hogy ez minden sornál megtörténjen:
"de ugye csak sajnos egy találatig írta le sajnos."
- A hozzászóláshoz be kell jelentkezni
szia
Ezt próbáltam használni, de a végét úgy szeretném átírni, hogy fixen a munkafüzet adott tartományába végezze a másolást. PL D1 -től kezdje és ne változók legyenek benne. A törlés a végén nem fontos, ki is vehetem, mert a kigyűjtés a lényeg.
Üdv:
Sub masolas()
Dim i, j, p, n As Integer 'i-sor, j-oszlop, n- sor a Munka2-n
n = 1
For i = 1 To 20
p = InStr(1, Cells(i, 3).Value, "1", vbTextCompare)
If p > 0 Then 'ha megtalálja
For j = 1 To 3
Worksheets("Munka2").Cells(n, j).Value = Cells(i, j).Value
Next j
n = n + 1
'Rows(i).Delete 'sor törlés
'i = i - 1 'a törlés miatt
End If
Next i
MsgBox "Kész!"
'A fenti kód végigmegy az 3.oszlopon (1-től 20-ig). Ha az első oszlop cellájában lévő szövegben megtalálja az "informatika" szót (InStr),
'akkor ezt a sort (most 10 oszlopig) átmásolja a Munka2 munkalapra.
End Sub
- A hozzászóláshoz be kell jelentkezni
D1 -től kezdje
Worksheets("Munka2").Cells(n, j + 3).Value = Cells(i, j).Value
ne változók legyenek benne
Ez mit jelent?
:)
- A hozzászóláshoz be kell jelentkezni