-
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.
Új hozzászólás Aktív témák
- Elemlámpa, zseblámpa
- Epson nyomtatók
- Google Pixel topik
- Ha az alaplapi hangchipnél jobbra váltanál, itt az új Sound Blaster hangkártya
- Kormányok / autós szimulátorok topikja
- A fociról könnyedén, egy baráti társaságban
- Le Mans Ultimate
- Vigneau interaktív lokálblogja
- Mini-ITX
- Ford topik
- További aktív témák...
- MEGA AKCIÓ! - Jogtiszta Windows - Office & Autodesk & CorelDRAW - Azonnal - Számlával - Garanciával
- Kaspersky, BitDefender, Avast és egyéb vírusírtó licencek a legolcsóbban, egyenesen a gyártóktól!
- Microsoft és egyéb dobozos retro szoftverek
- Windows 10/11 Home/Pro , Office 2024 kulcsok
- Vírusirtó, Antivirus, VPN kulcsok GARANCIÁVAL!
- Samsung Galaxy S22 Ultra 12/512GB // Számla // Garancia //
- iPhone 11 Pro 64GB 100% (3hónap Garancia) - AKCIÓ
- GYÖNYÖRŰ iPhone 12 Pro Max 128GB Pacific Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS3938
- ÁRGARANCIA!Épített KomPhone Ryzen 5 7500F 32/64GB RAM RTX 5060 Ti 8GB GAMER PC termékbeszámítással
- Apple iPhone 13 128GB,Átlagos,Dobozaval,12 hónap garanciával
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Fferi50