-
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
- Árváltozás + játék DVD: Fallout New Vegas Collector's Edition
- Calman Home for LG licenc (PGenerator támogatással) ÚJ ára 66.000 Ft.
- Árváltozás + játék DVD: Splinter Cell Blacklist the 5th Freedom Edition
- Fallout 4 Pip-Boy Edition
- AKCIÓ! Jogtiszta Windows - Office & Vírusirtó licencek- Azonnal - Számlával - Garanciával - Nint.hu
- MSI CreatorPro Z16P RTX A5500 TOUCH! (vapor chamberrel)
- HIBÁTLAN APPLE WATCH ULTRA 2 NATURAL TITANIUM 49MM -1 ÉV GARANCIA - MS3713, 100% AKKUMULÁTOR
- iKing.Hu - Apple iPhone 14 Pro Max Stílusos erő, Pro kamera rendszerrel! 128GB - 3 hónap gari!
- LG 45GS95QE - 45" Ívelt OLED / 2K WQHD / 240Hz 0.03ms / NVIDIA G-Sync / FreeSync Premium / HDMI 2.1
- iPhone 12 Pro 128GB Pacific Blue - 1 ÉV GARANCIA - Kártyafüggetlen, MS3259,100% Akkumulátor
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: NetGo.hu Kft.
Város: Gödöllő