-
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
-
Excelbarat
tag
válasz
sarvari
#17013
üzenetére
Hi!
Igazából nagyon nem akartam elbonyolítani így a makró a vastagság és szélesség oszlopokat tölti fel a súly értéket pedig függvénnyel már meg lehet oldani.
1. lépés Beírod ugyan arra a munkalapra a fejléceket pl A11: Név, B11: Szám, C11:Vastagság, D11: szélesség
2. makrót elindítod. Működése: a vastagság értékeket beírja annyiszor egymás alá ahány szélesség van. (megkeresi adott esetben C oszlop legalsó értékét és az alá tölti, ezért kell C,D11-be pl beírni a fejlécet, mert az a mérvadó). Majd a szélesség értékeket transzponálja D oszlopba egymás alá addig amíg C oszlopban van érték.
3. a Súly oszlopba beírod ezt a képletet és végigmásolod (katt a jobb alsó sarkában lévő kis fekete pöttyre 2x)
=INDEX($A$5:$D$8;HOL.VAN(C12;$A$5:$A$8);HOL.VAN(D12;$A$5:$D$5)) a te példád szerint vannak a hivatkozások! a dollár jelekre figyelj!
4. makrót törölheted így nem kell makróbarát fájlként elmentened.Futtatás előtt egy másolati példányon teszteld mert makró általi módosításokat nem lehet visszavonni!
Íme a makró:
Sub tolt()
Dim darab
Dim kezd
Dim ertek
darab = 3 - 1
'3-at módosítsd, hogy hány db szélesség érték van(a példádban 10,20,30 tehát 3)!
For i = 6 To 8
'Vastagság kezdő(6) és végső(8) értékének sorszámait módosítsd!
ertek = Cells(i, "A").Value 'A oszlop i sorait írja be megadott számszor az új táblába
kezd = ActiveSheet.Cells(Rows.Count, "C").End(xlUp).Row + 1
Range(Cells(kezd, "C"), Cells(kezd + darab, "C")).Value = ertek
Next i
'vastagság oszlop feltöltve
Range(Cells(5, "B"), Cells(5, "D")).Copy 'módosítsd a szélesség adatok kezdő és végső oszlopát
kezd = ActiveSheet.Cells(Rows.Count, "D").End(xlUp).Row + 1
Do While Cells(kezd, "C").Value <> ""
Cells(kezd, "D").Select
Selection.PasteSpecial Paste:=xlPasteValues, Transpose:=True
kezd = ActiveSheet.Cells(Rows.Count, "D").End(xlUp).Row + 1
Loop
Application.CutCopyMode = False
'feltöltve a szélesség oszlop
End Sub
Alkalmazása: jobb gomb a lapfülre kód megjelenítése oda bemásolod és F5-tel elindítod (vagy felül a zöld play ikonra katt)
A név és a szám értékeket pedig = jellel végigmásolod. -
Excelbarat
tag
válasz
sarvari
#17000
üzenetére
Hi!
Írok rá egy makrót ha megadsz pár adatot:
Vastagság értékei mettől meddig helyezkednek el: pl. amit fényképeztél ott: A6-A8 ig
Szélesség értékei mettől meddig vannak és hányadik sor: pl:5. sor B-D
Név: Cellája(B1)
Szám: Cellája(B2)
és hogy hova kerüljön az új tábla. (Gondolom fejléceket már beírtad
)
Új hozzászólás Aktív témák
- Pedzegeti az új Xbox irányát a Microsoft
- Renault, Dacia topik
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Kormányok / autós szimulátorok topikja
- talmida: Változások 2. rész
- Tőzsde és gazdaság
- Samsung Galaxy S25 - végre van kicsi!
- Kerékpárosok, bringások ide!
- Hobby rádiós topik
- Azonnali alaplapos kérdések órája
- További aktív témák...
- 193 - Lenovo Legion 5 (15IRX10) - Intel Core i7-14700HX, RTX 5070 (ELKELT)
- MSI Crosshair 16 i7-14700HX 14. gen 16gb ddr5 + RTX 4060 (140W) + 240Hz QHD+
- Telefon szerviz helyben - Gyors javítás, akár 30 perc alatt!
- BESZÁMÍTÁS! HP Elitedesk 800 G4 SFF brand számítógép - i5 8500 16GB DDR4 256GB SSD UHD630 250W WIN11
- Apple iPhone 12 Pro Max 128GB Graphite használt, szép állapot 97% akku 6 hónap garancia
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
)
Fferi50