-
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
válasz
Charlie Gordon
#9554
üzenetére
Más felfogásban, általánosítva a sorok és oszlopok számát:
Sub Adatosszesites()
Dim w2 As Worksheet
Dim sor As Integer, sor_1 As Integer
Dim oszlop As Integer, oszlop_1 As Integer
Dim datumok As Integer, nevek As Integer
Set w2 = Worksheets(2)
Sheets(1).Select
datumok = ActiveSheet.UsedRange.Columns.Count
sor_1 = 1: oszlop_1 = 2
nevek = Range("A2").End(xlDown).Row
For sor = 2 To nevek
w2.Cells(sor_1, 1) = Cells(sor, 1)
For oszlop = 2 To datumok Step 2
w2.Cells(sor_1, oszlop_1) = Cells(1, oszlop)
w2.Cells(sor_1, oszlop_1 + 1) = Cells(sor, oszlop)
w2.Cells(sor_1, oszlop_1 + 2) = Cells(sor, oszlop + 1)
oszlop_1 = oszlop_1 + 3
Next oszlop
sor_1 = sor_1 + 1
oszlop_1 = 2
Next sor
End Sub -
perfag
aktív tag
válasz
Charlie Gordon
#9554
üzenetére
Próbálkozz ezzel:
Sub cc()
Dim w As Worksheet
Set w = Worksheets(1)
Sheets(1).Select
datumok = 3 '1 sorban a dátumpárok száma
sor = 0
nevek = 3 'A oszlopban ennyi név van
For j = 1 To nevek
nev = w.Cells(j + 1, 1)
For i = 1 To datumok
datum = w.Cells(1, 1 + 2 * i - 1)
mikor = w.Cells(j + 1, 1 + 2 * i - 1)
mennyi = w.Cells(j + 1, 2 + 2 * i - 1)
Sheets(2).Select
sor = sor + 1
Cells(sor, 1) = nev
Cells(sor, 2) = datum
Cells(sor, 3) = mikor
Cells(sor, 4) = mennyi
Next i
Next j
End Sub -
Delila_1
veterán
válasz
Charlie Gordon
#9552
üzenetére
Kissé zavaros. Tegyél be egy képet róla.
-
válasz
Charlie Gordon
#8351
üzenetére
Hali!
Igen, azért.
Mindjárt módosítom a kódot.Fire.
-
válasz
Charlie Gordon
#8349
üzenetére
Hali!
Oksa, akkor
1. Készíts másolatot az excel fájlról, biztos ami biztos
2. Nyisd meg és az első munkalapra tegyél egy CommandButtont
3. Kattints rá duplán, a megjelenő ablakban törölj mindent és illeszd be az alábbi kódotPrivate Sub CommandButton1_Click()
Dim My_Sheet As Worksheet
Dim My_Sheet_Name As String
Dim My_Range As Range
Dim My_Column As String
'Oszlop, amelyikben szállítólevélszámok vannak
'(Ugyanebben az oszlopban lesznek majd, az új munkalapon is)
My_Column = "D"
'A létrehozandó, összesítő munkalap neve
My_Sheet_Name = "FSCD_Összesítés"
Application.DisplayAlerts = False
On Error Resume Next
Set My_Sheet = Sheets(My_Sheet_Name)
On Error GoTo 0
If Not My_Sheet Is Nothing Then
My_Sheet.Delete
End If
Worksheets.Add(After:=Worksheets(Worksheets.Count)).Name = My_Sheet_Name
k = 1
For i = 1 To Worksheets.Count - 1
Worksheets(i).Select
Worksheets(i).Range(My_Column & "1").Select
Set My_Range = Worksheets(i).Range(My_Column & "1:" & My_Column & Worksheets(i).UsedRange.Rows.Count)
My_Range.Select
For Each CurrCell In My_Range
Worksheets(My_Sheet_Name).Range(My_Column & k) = CurrCell.Value
k = k + 1
Next CurrCell
Set My_Range = Nothing
Next i
Worksheets(My_Sheet_Name).Select
Set My_Sheet = Nothing
Application.DisplayAlerts = True
End Sub4. kattints a CommandButtonra
Ez a makró létrehoz a munkalapok legvégén egy új munkalapot, abba másolja az adatokat.
Fire.
-
válasz
Charlie Gordon
#8347
üzenetére
hali!
Van olyan munkalap, ami nem terméket tartalmaz, amit nem kell figyelembe venni?
Magyarul létrehozok egy munkalapot, végignézhetem az összes munkalapot,a D oszlop adatait összesíthetem?Ha vannak olyan munkalapok, amelyeket ki kell hagyni, akkor a pontos nevüket kérném...
Fire.
-
válasz
Charlie Gordon
#8344
üzenetére
Hali!
oksa, így érthető. Még annyi lenne a kérdésem, hogy az összesítő táblázatban, a termékekről milyen adatok kerüljenek bele és azok az adott munkalapon belül hol vannak, melyik cellá(k)ban?
(Ha minden D oszlopt "összesítünk", akkor csak számok lesznek, de hogy azok melyik munkalapon szerepeltek (melyik termékhez kötődve) az úgy nem fog kiderülni)Erre gondolok pl
Alma munkalap, D oszlop -> 1,3,5,7,9
Körte munkalap D oszlop -> 2,4,6,8Ha összesítjük a D oszlopot valahol (és csak azt) akkor azt kapod, hogy 1,2,3,4,5,6,7,8 de evvel nem sokra mész (szerintem)
Fire.
-
válasz
Charlie Gordon
#8342
üzenetére
Hali!
Nem értem a kérdést...
Pl Munkalapok -> alma, barack, körte stb
Minden munkalap D oszlopában szállítólevélszám
Ha ez így van, akkor mindegyik munkalap (alma, barack, körte stb) teljes D oszlopa eleget tesz a kérdésednek..."Össze kell hozni (esetleg egy új munkalapon) az
összes szállítólevélszámot, amelyeken ez a termékcsoport szerepelt."Mit értettem rosszul?
Fire.
Új hozzászólás Aktív témák
- Poco F6 5G - Turbó Rudi
- HDD probléma (nem adatmentés)
- Ilyen olcsó sem volt még egy Apple notebook
- Milyen billentyűzetet vegyek?
- Fejhallgató erősítő és DAC topik
- Forza sorozat (Horizon/Motorsport)
- PlayStation 5
- mefistofeles: Az elhízás nem akaratgyengeség!
- AMD Navi Radeon™ RX 9xxx sorozat
- Házimozi belépő szinten
- További aktív témák...
- Bitdefender Total Security 3év/3eszköz! - Tökéletes védelem.
- Game Pass Ultimate előfizetések 1 - 36 hónapig azonnali kézbesítéssel a LEGOLCSÓBBAN! AKCIÓ!
- Számlás!Steam,EA,Epic és egyébb játékok Pc-re vagy XBox!
- Játékkulcsok olcsón: Steam, Uplay, GoG, Origin, Xbox, PS stb.
- Windows 10 11 Pro Office 19 21 Pro Plus Retail kulcs 1 PC Mac AKCIÓ! Automatikus 0-24
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Mindjárt módosítom a kódot.
Fferi50