- Pendrive-ról bootolható "belakott" debian linux live Ventoy pendrive-on
- Asszociációs játék. :)
- Szólánc.
- Fűzzük össze a szavakat :)
- Miért ne vegyél gagyi kínai LED izzósort...
- Az én érdekes, öszvér videokártyám...….
- Samsung LE40A536T1F LCD TV képhiba
- Digitális Állampolgárság Program
- leslieke
- Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
-
LOGOUT.hu
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
-
szatocs1981
aktív tag
Sziasztok,
tömbképlettel (lehetőleg segédoszlop nélkül) szeretném megoldani az alábbi feladatot, ebben kérném a segítségeteket:
Adatok az A-B-C oszlopban, eredmény a E oszlopban.
Szabály egy adott sorra:
ha A oszlopban "x" van és B vagy C oszlop nem üres, akkor az E oszlopba kell felsorakoztatni (üres nélkül) a B vagy épp C oszlop értékét. Olyan hogy A és B és C is értéket tartalmaz nem lehetséges.Ha a leírás nem is, de a kép remélem egyértelmű.
Előre is köszönöm a segítséget.
[ Szerkesztve ]
-
szatocs1981
aktív tag
Sziasztok,
segitsegre lenne szuksegem: Makro nelkül kellene a kövezöket megoldani: Az egyik munkalap egyik oszolpat vizsgalni, talalat eseten az teljes sort a masik munkalapra masolni egymas ala (ha lehet a masolt cellakat az eredeti tartalommal "linkelve").
elöre is köszönöm a segitseget
[ Szerkesztve ]
-
-
szatocs1981
aktív tag
Sziasztok, excel táblában szeretnék egy sort megtalálni. Hogyan tudnám azt realizálni egy makróval, hogy teljes soronként keressen? Azaz azt szeretném elérni, hogy ha egy sorban az általam megadott stringek szerepelnek, akkor azt a makró megtalálja. Egy adott kombináció egy sorban csak egyszer fordulhat elő.
példa: azt a sort szereném megkeresni, amiben a V2, 4, P01 szerepel.
V1 1 P01
V1 4 P03
V2 1 P03
V2 4 P01Nem várok kész makrót, elkészitem magam. Ötleteket szeretnék, esteleg egy parancsot amit nem ismerek.
előre is köszönöm
Edit: eddig egyetlen öteletem, hogy oszloponként végigmegyek és találat esetén veszem a következő oszlopot, majd a következőt.....hátha van valami egyszerűbb megoldás...
[ Szerkesztve ]
-
-
szatocs1981
aktív tag
válasz tgumis #30591 üzenetére
Ha jól értelmezem a feladatot, akkor a következöt csinálnám:
Application.UserName paranccsal le tudod kérdezni, az aktuálisan bejelentkezett felhasználót.
Ha ez megegyezik a te neveddel/felhasználói fiókoddal, akkor lefut a makró (kiszüri a nullát), ellenkezö esetben pedig makró nélkül megy tovább az egész. -
szatocs1981
aktív tag
válasz szatocs1981 #29482 üzenetére
Fejléccel:
Sub Makro1()
Worksheets(1).Select
Sheets.Add
Worksheets(1).Name = "Végeredmény"
WS_Count = ActiveWorkbook.Worksheets.Count
Call TiliToli("A", "E", 2, 0)
Call TiliToli("C", "F", WS_Count, 40)
End Sub
Sub TiliToli(Spalte1, Spalte2, ettol, eddig)
For i = 2 To ettol
utolso = Worksheets(1).Cells(Rows.Count, "A").End(xlUp).Row
For szorzo = 0 To eddig Step 8
For sor = 1 To 8
ujsor = sor + szorzo
Worksheets(1).Cells(utolso + 1, sor) = Worksheets(i).Cells(ujsor, Spalte1).Value
If sor <> 1 Then
Worksheets(1).Cells(utolso + 1, sor + 7) = Worksheets(i).Cells(ujsor, Spalte2).Value
End If
Next sor
utolso = utolso + 1
Next szorzo
Next i
End Sub -
szatocs1981
aktív tag
válasz Roxy27 #29481 üzenetére
Fejléc és hibakezelés még nincs benne, próbáld ki:
Töröld a "Végeredmény" nevü fület, mielött futtatod a makrót!A makró létrehoz az elsö helyen egy "Végeredmény" nevü lapot, majd oda bemásolja az összes többi létezö lapról az adatokat, a megadot szabály szerint!
Sub Makro1()
Worksheets(1).Select
Sheets.Add
Worksheets(1).Name = "Végeredmény"
WS_Count = ActiveWorkbook.Worksheets.Count
For i = 2 To WS_Count
utolso = Worksheets(1).Cells(Rows.Count, "A").End(xlUp).Row
For szorzo = 0 To 40 Step 8
For sor = 1 To 8
ujsor = sor + szorzo
Worksheets(1).Cells(utolso + 1, sor) = Worksheets(i).Cells(ujsor, "C").Value
If sor <> 1 Then
Worksheets(1).Cells(utolso + 1, sor + 7) = Worksheets(i).Cells(ujsor, "F").Value
End If
Next sor
utolso = utolso + 1
Next szorzo
Next i
End Sub -
szatocs1981
aktív tag
válasz Roxy27 #29473 üzenetére
Közben átírtam, mert nem volt jó:
Sub Makro1()
utolso = Sheets("Végeredmény").Cells(Rows.Count, "A").End(xlUp).Row
For szorzo = 0 To 16 Step 8
For sor = 1 To 8
ujsor = sor + szorzo
Sheets("Végeredmény").Cells(utolso + 1, sor) = ActiveSheet.Cells(ujsor, "C").Value
ActiveSheet.Cells(ujsor, "C").Select
If sor <> 1 Then
Sheets("Végeredmény").Cells(utolso + 1, sor + 7) = ActiveSheet.Cells(ujsor, "F").Value
ActiveSheet.Cells(ujsor, "F").Select
End If
Next sor
utolso = utolso + 1
Next szorzo
End SubPage1- lapra "rámész" és futtatod a makrót!
-
szatocs1981
aktív tag
válasz Roxy27 #29471 üzenetére
Ezt lefuttatod 36x ( a lapokat egyesével aktiváld):
Idömböl most ennyi futotta erre.Sub Makro1()
utolso = Sheets("Végeredmény").Cells(Rows.Count, "A").End(xlUp).Row
For szorzo = 1 To 3
For sor = 1 To 8
Sheets("Végeredmény").Cells(utolso + 1, sor) = ActiveSheet.Cells(sor, "C").Value
If sor <> 1 Then
Sheets("Végeredmény").Cells(utolso + 1, sor + 7) = ActiveSheet.Cells(sor, "F").Value
End If
Next sor
utolso = utolso + 1
Next szorzo
End Sub[ Szerkesztve ]
-
szatocs1981
aktív tag
válasz Belnir #29379 üzenetére
Windows alatt levéded (read_only) és magadat beteszed kivételbe.
PS: mondjuk ez akkor teljesen ellenben van az elözö kikötéseddel, miszerint:
"Azt szeretném, hogy:
1. valaki megnyitja a munkafüzetet
2. a megnyílás pillanatában mentsen automatikusan egyet, beírva, hogy ki mikor hol stb, ahogy most is faszán megy"[ Szerkesztve ]
-
szatocs1981
aktív tag
Az elsö problémára (ezt az adott fülhöz kell bemásolni):
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 8 Then 'H szlopot ha módosítod
ertek = InputBox("Tuti ennyit akarsz?", "A nagy kérdés")
If ertek <> CStr(Cells(Target.Row, 8).Value) Then
MsgBox ("Elcseszted!")
End If
End If
End Sub -
szatocs1981
aktív tag
Makróval, nagyjából így. Nem teszteltem!
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = Cells(1, 1) Then 'A1-es cellát ha módosítod
ertek = inputbox("Tuti ennyit akarsz?")
If ertek <> Cells(1,1).value then
MsgBox("Nem egyezik!")
End If
end If
End Sub[ Szerkesztve ]
-
szatocs1981
aktív tag
válasz Delila_1 #29119 üzenetére
Igaz, akkor így:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rngz As Range
On Error GoTo Ende
Application.EnableEvents = False
For Each rngz In Application.Intersect(Columns("B"), Target).Cells
rngz.Offset(0, -1).Value = Date
Next rngz
Ende:
Application.EnableEvents = True
End Sub -
szatocs1981
aktív tag
-
szatocs1981
aktív tag
válasz kispéé #29015 üzenetére
A makró müködése a következö, talán ez segít a továbbiakban:
az elsö táblázatból (neve mindegy) kiolvassa az aktuálisan kijelölt cella értékét, majd összehasonlitja a masodik táblázat (neve rögzített) "A" oszlopában lévö értékekkel. Ha egyezést talál, akkor az adott cellába ugrik. -
szatocs1981
aktív tag
válasz szatocs1981 #29013 üzenetére
...mondjuk itt kimaradt valami:
Range("A" & Zelle.Row).Select
-
szatocs1981
aktív tag
Sub IttOttKeres()
Keres = Selection.Value
Windows("Mappe2").Activate
Dim Zelle As Range
For Each Zelle In Range("A1:A" & Cells(Rows.Count, "A").End(xlUp).Row)
If Zelle = Keres Then
Range("A" & Zelle).Select
Exit Sub
End If
Next
End SubA második táblára, analóg ugyanígy!
[ Szerkesztve ]
-
-
szatocs1981
aktív tag
válasz m.zmrzlina #28776 üzenetére
Néha egyszerübb (és gyorsabb) lenne a googliban keresgélni....
-
szatocs1981
aktív tag
válasz the radish #28769 üzenetére
Ez segít a továbbiakban?
If Dir("C:\amitakarsz.txt") <> "" Then
MsgBox "File létezik!"
Else
MsgBox "File nem létezik!"
End If -
szatocs1981
aktív tag
válasz the radish #28747 üzenetére
Próbáld meg evvel a makróval. Mielött futtatod jelöld ki a cellákat, ahol cserélni akarod a vesszöt pontra!
Sub Csere()
Dim Zelle As Range
For Each Zelle In Selection.Cells
Zelle.NumberFormat = "@"
Zelle.Value = Replace(Zelle.Value, ",", ".")
Next Zelle
End Sub[ Szerkesztve ]
-
szatocs1981
aktív tag
válasz the radish #28745 üzenetére
Amúgy nem az a gond, hogy SZAMOKBAN a tizedesvesszöt akarod lecserélni pontra?
Azt szerintem Windows-ban vagy EXCEL beállításokban kell megtenni.Ha SZÖVEGBEN akarod lecserélni a vesszöt pontra, akkor müködik a makró!
[ Szerkesztve ]
-
szatocs1981
aktív tag
válasz the radish #28743 üzenetére
"Nem megy" - ez mit takar?
-
szatocs1981
aktív tag
Ez szétszedi az A1-ben lévöt és A2-B2 töl kezdve feltölti.
Pr´báld ki:Sub Split()
Dim txt As String
Dim x As Variant
Dim i As Long
txt = Cells(1, 1).Value
x = Split(txt, ", ")
ReDim y(UBound(x))
For i = 0 To UBound(x)
y(i) = Split(x(i), "(")
Next i
For i = 0 To UBound(x)
y(i)(1) = Replace(y(i)(1), ")", "")
Next i
For i = 0 To UBound(x)
Cells(i + 2, 1).Value = y(i)(0)
Cells(i + 2, 2).Value = y(i)(1)
Next i
End Sub -
szatocs1981
aktív tag
-
szatocs1981
aktív tag
válasz Sweetraver #28525 üzenetére
-
szatocs1981
aktív tag
válasz Dolphine #28522 üzenetére
Makrókat engedélyezed az EXCEL-ben, bemásolod, lefuttatod, majd ugyanúgy mented a munkalapot a makró nélkül.
Viszont ha ebbe a munkalapba nap, mint nap másolsz táblázatot, akkor "mentés makróval..." opciót válaszd és megmarad a makró.
A futtatás szerintem független ezetöl. Annak mennie kell, ha engedélyezve vannak.
-
szatocs1981
aktív tag
-
szatocs1981
aktív tag
válasz the radish #28491 üzenetére
Lehet, h félreértelmezem a feladatot, de nem megoldás, ha csinálsz a .doc-ból egy kitölthetö .pdf-et?
-
szatocs1981
aktív tag
válasz tzimash #28399 üzenetére
Na, csak megvan:
If InStr(Cells(sor, "C"), "VBS/BS ") > 0 And Cells(sor, "F").Value = 8960 And Cells(sor, "D").Value = "J" And not (Cells(sor, "B").Value = 2381273 Or Cells(sor, "B").Value = 2381389 Or Cells(sor, "B").Value = 2587841 Or Cells(sor, "B").Value = 2437821 Or Cells(sor, "B").Value = 2531518 Or Cells(sor, "B").Value = 2417707 Or Cells(sor, "B").Value = 2832690) Then
-
szatocs1981
aktív tag
OK, (talán) közben rájöttem.
D1-hez kellene bemásolni a függvényt, majd "lehúzni" a vizsgálandó cellák soráig. A csatolt képen én ugy veszem ki, hogy D12-nél indul. Így üresen marad minden....Talán...De az tuti, hogy D12-nél, a sor legvégén, az "A1" az nem stimmel, ott "A12"-nek kellene állnia.
[ Szerkesztve ]
-
szatocs1981
aktív tag
válasz Delila_1 #28375 üzenetére
Ez az eredeti, ami nálam müködik:
=WENN(ZEILE()>SUMME(ISTZAHL(FINDEN(C$1;A$1:A$7))*1);"";INDEX(B:B;KKLEINSTE(WENN(ISTZAHL(FINDEN(C$1;A$1:A$7));ZEILE($1:$7));ZEILE(A2))))A neten az "ISTZAHL" német függvényt nem találta az office fordító. Mit csinál a magyar "SZÀM" függvény?
Itt lehet a kutya elásva[ Szerkesztve ]
-
szatocs1981
aktív tag
@Delila: azt irja, hogy két oszlopban vannak a kiindulási adatok!
Igen, nálam müködik.
azt elfelejtettem, hogy a C1-be ird be, hogy "nok".
idézöjel nélkül!és az elsö cellát amibe ezt bemásoltad, húz le, ameddig a vizsgálatot akarod megcsináltatni!
Amúgy "nekem semmi" az mit jelent? Hibaüzenet? vagy üres marad a cella?
[ Szerkesztve ]
-
szatocs1981
aktív tag
{=ha(sor()>szum(szám(szöveg.talál(C$1;A$1:A$100))*1);"";index(B:B;kicsi(ha(szám(szöveg.talál(C$1;A$1:A$100));}sor($1:$100));sor(A1))))
Evvel mennie kell! Ez nem sima, hanem egy tömbképlet (ctrl+alt+enter a végén, {} nélkül!)
Nekem német nyelvü excelem van, így lehet a függvények neve nem egészen stimmel. Ha nem müködik, akkor azokat ellenörizd le! -
szatocs1981
aktív tag
Jelöld ki a cellákat, amiket, módosítani szeretnél, majd futtasd le a következö makrót:
Sub Makro1()
Dim Zelle As Range
For Each Zelle In Selection.Cells
Zelle.Value = Left(Zelle.Value, 1) & Right("000" & Right(Zelle.Value, Len(Zelle.Value) - 1), 4)
Next Zelle
End SubA kijelölt cellákat az alábbiak szerint módositja:
Az elsö karakter változatlan marad, majd hozzátol 3db 0-t, végül levágja 4 jegyüre!Elötte készíts mindenképpen biztonsági másolatot!
[ Szerkesztve ]
-
szatocs1981
aktív tag
szvsz, mert az "A" bezavarja. Mivel van benne egy betü, így már csak alfabetikus sorrendben lehet szürni, numerikus helyett.
2 lehetöséged van, hogy jó legyen:
a) kiveszed az "A" betüt
b) kiegészíted az összes számot pl. 4 jegyüre: A0001,....,A0105, ....,A2111[ Szerkesztve ]
-
szatocs1981
aktív tag
Ha "szabályjal" meg tudod adni, hogy a két file hol helyezkedik el, akkor szvsz lehet automatizálni a beolvasást.
Pl.:
- ha a könyvtár mindig azonos és csak ez a két file van benne
- ha a könyvtár mindig azonos és ez a két file mindig a két legutolsó modosított file
...
..
.
Ha valamilyen szabályt fel tudsz állítani, akkor VBA-ban is el tudod érni biztonsággal.
Delila_1 által vázolt módon (FileDialogBox) is megoldható!
(csak sokat kell klikkelni, amit én speciel nem szeretek ) -
szatocs1981
aktív tag
Igazából nem nagyon látom át a problémát.
Az segít, ha kiszüröm a kijelölésböl az üres cellákat és avval nem fog történni semmi?Megvan még az eredeti doksi?
EDIT:
Igy a kijelölt cellákból az üreseket békén hagyja:
Sub Makro1()
Dim rng As Range
For Each rng In Selection
sString = rng.Text
If sString <> "" Then
rng.NumberFormat = "@"
rng.Value = sString
End If
Next[ Szerkesztve ]
-
szatocs1981
aktív tag
Szia,
szvsz egy pár soros makróval megoldható a probléma.
A kijelölt cellákat át tudod formázni idöröl szövegre úgy, hogy a cellák tartalma ne változzon.Sub Makro1()
Dim rng As Range
For Each rng In Selection
sString = rng.Text
rng.NumberFormat = "@"
rng.Value = sString
Next
End Sub[ Szerkesztve ]
-
szatocs1981
aktív tag
Sziasztok,
SAP-böl szeretném VBA-n keresztül egy EXCEL cellába írni az aktuális naphoz tartozó munkakezdés (hh:mm:ss) idejét.
SAP-ba való bejelentkezés megvan. Tunda valaki segíteni, hogyan tudnám az iöpontot kinyerni?elöre is köszönöm
Új hozzászólás Aktív témák
- Kerékpárosok, bringások ide!
- Autós topik
- Philips LCD és LED TV-k
- Kuponkunyeráló
- iOS alkalmazások
- Honor Magic6 Pro - kör közepén számok
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- AMD Navi Radeon™ RX 7xxx sorozat
- AMD Ryzen 9 / 7 / 5 / 3 5***(X) "Zen 3" (AM4)
- iPhone topik
- További aktív témák...
- Bitdefender Total Security 3év/3eszköz! - Tökéletes védelem, Újévi kedvező ár!
- Microsoft licencek KIVÉTELES ÁRON AZONNAL - UTALÁSSAL IS AUTOMATIKUS KÉZBESÍTÉS - Windows és Office
- Új, bontatlan World of Warcraft gyűjtői kiadások
- Windows, Office licencek kedvező áron, egyenesen a Microsoft-tól - 1190 Ft-tól!
- Adobe Előfizetések - Adobe Creative Cloud All Apps - 12 Hónap
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest