-
Fototrend
A Microsoft Excel topic célja segítséget kérni és nyújtani Excellel kapcsolatos problémákra.
Kérdés felvetése előtt olvasd el, ha még nem tetted.
Új hozzászólás Aktív témák
-
Delila_1
veterán
Miért akarod makróval formázni a result.xls-t? Csináld meg gyalog, sokkal gyorsabb.

Ha fejléc is lesz benne, akkor a sor_r=1 helyett sor_r=2 kell, vagy ha a címek 2 sort foglalnak le, sor_r=3. A 3 sor helyett beírt 1 sor néhány változót is fölöslegessé tett, inkább megint beteszem a lecsökkent forráskódot újra.
Sub Lel()
Dim talal As Variant, usor As Integer, sor As Integer, sor_r As Integer
Dim nev
Windows("ex2.xls").Activate
Sheets(1).Select
usor = ActiveSheet.UsedRange.Rows.Count
sor_r = 2
For sor = 1 To usor
nev = Cells(sor, 2)
Windows("ex1.xls").Activate
Sheets(1).Select
With Columns("B:B")
Set talal = .Find(nev, LookIn:=xlValues)
If talal Is Nothing Then
Workbooks("ex2.xls").Sheets(1).Rows(sor).Copy Workbooks("result.xls").Sheets(1).Rows(sor_r)
sor_r = sor_r + 1
End If
End With
Windows("ex2.xls").Activate
Next
End SubHa az ex1.xls és az ex2.xls is tartalmaz címsort, a For sor=1 To usor is For sor=2 To usor-ra változik.
Az elmúlt héten (vagy előtte) többen több helyet ajánlottunk a VB megismeréséhez, lapozz kicsit vissza.
-
Delila_1
veterán
Az első oszlopot sorszámnak néztem.
Sub Lel()
Dim talal As Variant, usor As Integer, sor As Integer, sor_r As Integer
Dim nev, adat1, adat2
Windows("ex2.xls").Activate
Sheets(1).Select
usor = ActiveSheet.UsedRange.Rows.Count
sor_r = 1
For sor = 1 To usor
nev = Cells(sor, 2): adat1 = Cells(sor, 1): adat2 = Cells(sor, 3)
Windows("ex1.xls").Activate
Sheets(1).Select
With Columns("B:B")
Set talal = .Find(nev, LookIn:=xlValues)
If talal Is Nothing Then
Workbooks("result.xls").Sheets(1).Cells(sor_r, 1) = adat1
Workbooks("result.xls").Sheets(1).Cells(sor_r, 2) = nev
Workbooks("result.xls").Sheets(1).Cells(sor_r, 3) = adat2
sor_r = sor_r + 1
End If
End With
Windows("ex2.xls").Activate
Next
End Sub -
Delila_1
veterán
Sub hianyzok()
Dim talal As Variant, usor As Integer, sor As Integer, sor_r As Integer
Dim nev As Variant, adat As Variant
Windows("ex2.xls").Activate
Sheets(1).Select
usor = ActiveSheet.UsedRange.Rows.Count
sor_r = 1
For sor = 1 To usor
nev = Cells(sor, 2): adat = Cells(sor, 1)
Windows("ex1.xls").Activate
Sheets(1).Select
With Columns("B:B")
Set talal = .Find(nev, LookIn:=xlValues)
If talal Is Nothing Then
Workbooks("result.xls").Sheets(1).Cells(sor_r, 1) = adat
Workbooks("result.xls").Sheets(1).Cells(sor_r, 2) = nev
sor_r = sor_r + 1
End If
End With
Windows("ex2.xls").Activate
Next
End Sub
Új hozzászólás Aktív témák
- Dell Latitude 7400 2 in 1 360 touch, i7 8665U, 16GB, 512GB, jó akku, magyar bill számla, 6 hó gar
- Akciós! Lenovo ThinkPad P15 Gen 1 Intel i7-10875H 32GB 512GB Nvidia Quadro RTX 3000 1 év garancia
- BESZÁMÍTÁS! Asus ROG Z790 i9 13900K 32GB DDR5 1TB SSD RX 7900 XTX 24GB Lian LI LANCOOL 207 ROG 750W
- Beszámítás! HP Elitebook 840 G11 14 FHD notebook - Ultra 5 135U 16GB DDR5 256GB SSD Intel Win11
- AKCIÓ! CSAK KIBONTOTT Honor 200 Lite 8GB 256GB mobiltelefon garanciával hibátlan működéssel
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest



Fferi50