-
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
benjoe1
#52406
üzenetére
Egy rövid makróval meg lehet oldani. Makróbarátként kell mentened a füzetet.
Az A10 helyett más cellába is adhatod az eredményt.Sub Kigyujtes()Dim sor As Integer, szoveg As Stringsor = 2Do While Cells(sor, 2) > ""If Cells(sor, 3) <> "" Then szoveg = szoveg & Cells(sor, 2) & ","sor = sor + 1LoopRange("A10") = Left(szoveg, Len(szoveg) - 1)End Sub -
Mutt
senior tag
válasz
benjoe1
#44180
üzenetére
Szia,
Makrómentesen 2 megoldás:
1. A Projektneveket egy Kimutatással soroltam fel alul.
2. B10-ben ez a csúnya tömbképlet van.=HA(A10<>"";SZÖVEGÖSSZEFŰZÉS(";";IGAZ;HA(ELTOLÁS($B$1;HOL.VAN($A10;$A:$A;0)-1;;;DARAB2($1:$1)-1)>0;ELTOLÁS($B$1;0;;;DARAB2($1:$1)-1);""));"")Kell hozzá Excel 2016-tól elérhető SZÖVEGÖSSZEFŰZÉS, a végén CSE-t kell nyomni. Másold le sokszor, hogyha új projekt jön akkor automatikusan megjelenjen. Ha az oszlopok száma nem bővül (vagyis nem hétről-hétre adjátok hozzá őket, akkor a második ELTOLÁST le lehet cserélni fix tartományra, pl. $B$1:$BA$1-re)
2. Excel 2010-től van Power Query, amiben kb. 10 lépés. A lényeg az ún. UNPIVOT (magyarul elemi értékre bontás).

üdv
-
Delila_1
veterán
válasz
benjoe1
#44199
üzenetére
Makróval megoldható.
Első oszlop projektek, másodikba ír a makró, 3-tól az első sorban vannak a hetek.
A makrót modulba tedd, a füzetet makróbarátként kell mentened.Sub Heti_Arbevetel()
Dim oszlop As Integer, uoszlop As Integer, sor As Long
Columns("B:B") = ""
Range("B1") = "Tervezett" & vbLf & "árbevételek"
sor = 2: uoszlop = Cells(1, Columns.Count).End(xlToLeft).Column
Do While Cells(sor, 1) <> ""
For oszlop = 3 To uoszlop
If Cells(sor, oszlop) > "" Then Cells(sor, 2) = Cells(sor, 2) & Cells(1, oszlop) & ", "
Next
If Len(Cells(sor, 2)) > 0 Then Cells(sor, 2) = Left(Cells(sor, 2), Len(Cells(sor, 2)) - 2)
sor = sor + 1
Loop
Columns("B:B").EntireColumn.AutoFit
End Sub -
Delila_1
veterán
válasz
benjoe1
#25572
üzenetére
Szűröd az A oszlopot, majd indítod a lenti makrót.
Sub Rejt()
Dim sor As Integer, oszlop As Integer
Application.ScreenUpdating = False
sor = Range("A" & Rows.Count).End(xlUp).Row
For oszlop = 2 To 200
If Cells(sor, oszlop) = "" Then
Columns(oszlop).Hidden = True
Else
Columns(oszlop).Hidden = False
End If
Next
Application.ScreenUpdating = True
End Sub -
Delila_1
veterán
válasz
benjoe1
#3820
üzenetére
A Selection.Offset(3.1).Select sort itt nem értem, meg szerintem a cikluson belül módosítani kellene a kijelölés helyét. Nálad működött?
Az enyémben az usor kezdetű sor felesleges, de nem árt senkinek. Előbb a ciklust az usorig vittem, aztán a módosítottban benne hagytam a szemetet.
Új hozzászólás Aktív témák
- Honor 200 Pro 512GB,Újszerű,Dobozaval,12 hónap garanciával
- REFURBISHED - DELL Universal Dock D6000 (452-BCYH) (DisplayLink)
- Apple iPhone 13Pro 256GB Kártyafüggetlen 1év Garanciával
- GYÖNYÖRŰ iPhone 13 Mini 128GB Blue- 1 ÉV GARANCIA -Kártyafüggetlen, MS4062
- Azonnali készpénzes Sony Playstation 5 lemezes és digitális felvásárlás személyesen/csomagküldéssel
Állásajánlatok
Cég: Laptopszaki Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest

Fferi50
