- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- One mobilszolgáltatások
- Motorola Edge 50 Neo - az egyensúly gyengesége
- iPhone topik
- Xiaomi Watch 2 Pro - oké, Google, itt vagyunk mi is
- Samsung Galaxy S20 és S20+ duplateszt
- Magyarországon is kapható a Moto G85 5G
- Samsung Galaxy A56 - megbízható középszerűség
- Motorola Razr 60 Ultra - ez a kagyló könnyen megfő
- Fotók, videók mobillal
-
Mobilarena
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
torment #20297 üzenetére
Írd be a Munka2 lapra a 3 soros címet (ha még nem tetted meg), a makró elvégzi a többit.
Sub Valami()
Dim sor1 As Long, sor2 As Long, oszlop As Long
Dim WS1 As Worksheet, WS2 As Worksheet
Set WS1 = Sheets("Munka1")
Set WS2 = Sheets("Munka2")
WS1.Activate
sor1 = 2: sor2 = 4
Do While Cells(sor1, 1) > ""
For oszlop = 1 To 5
WS2.Cells(sor2, oszlop) = Cells(sor1, oszlop)
Next
For oszlop = 6 To 9
WS2.Cells(sor2 + 1, oszlop - 4) = Cells(sor1, oszlop)
Next
For oszlop = 10 To 13
WS2.Cells(sor2 + 2, oszlop - 8) = Cells(sor1, oszlop)
Next
sor1 = sor1 + 1: sor2 = sor2 + 3
Loop
End Sub -
Delila_1
veterán
válasz
torment #12203 üzenetére
A lapnév mindig szöveg formátumú, még ha "szemre" dátumot mutat is.
Szúrj be egy lapot Lista névvel, ide listázza majd ki a lapok makró a dátumos lapneveket.
Sub lapok()
Dim lap%, lapnév As String, usor%
For lap% = 1 To ThisWorkbook.Sheets.Count
lapnév = Sheets(lap%).Name
If Len(lapnév) = 10 And Mid(lapnév, 5, 1) = "." And Mid(lapnév, 8, 1) = "." Then
usor% = Sheets("Lista").Range("A" & Rows.Count).End(xlUp).Row + 1
Sheets("Lista").Range("A" & usor%) = lapnév
End If
Next
End SubA makróban feltételeztem, hogy a lapnevek 2011.12.01 formátumúak. A feltételt tartalmazó sort lehetne bővíteni, pontosítani. Itt csak a lapnév hosszát, és a két pont helyét ellenőriztettem.
-
Delila_1
veterán
válasz
torment #12026 üzenetére
Perfag makrójába írtam be a
lap = "gép" & Range("X15") & "_heti" sort, és a másolásnál a lap helyét ennek megfelelően módosítottam.Sub Másol()
Sheets("Lemez_Spc").Select
Dim lap As String, sor As Integer, oszlop As Integer
lap = "gép" & Range("X15") & "_heti"
sor = Range("Y21")
oszlop = Range("Y6")
Range("B35:F42").Copy Sheets(lap).Range("B3").Offset((sor - 1) * 8, (oszlop - 1) * 5)
End Sub -
perfag
aktív tag
válasz
torment #12016 üzenetére
Látom mire hazaértem megoldódott a dolog. Annyi baj legyen, ha már belekezdtem itt a kód:
Sub Másol()
Worksheets("Lemez_Spc").Select
sorok = Range("Y21")
oszlopok = Range("Y6")
Range("B35:F42").Copy Worksheets("Heti_adatbázis").Range("B3").Offset((sorok - 1) * 8, (oszlopok - 1) * 5)
End Sub -
Delila_1
veterán
válasz
torment #12014 üzenetére
Nem offset-tel oldottam meg, hanem a több elágazású select case-zel.
A Select Case sorban meg kell adni a figyelendő változót, a Case1, Case2, ....Case7 sorokban pedig azt, hogy melyik érték esetén mit csináljon a program.
Sub Másol()
Dim sor%, oszlop%
Sheets("Lemez_Spc").Select
sor% = Range("Y21"): oszlop% = Range("Y6")
Select Case sor%
Case 1
sor% = 3
Case 2
sor% = 11
Case 3
sor% = 19
End Select
Select Case oszlop%
Case 1
oszlop% = 2
Case 2
oszlop% = 7
Case 3
oszlop% = 12
Case 4
oszlop% = 17
Case 5
oszlop% = 22
Case 6
oszlop% = 27
Case 7
oszlop% = 32
End Select
Range("B35:F42").Copy Sheets("Heti_adatbázis").Cells(sor%, oszlop%)
End SubSzerk:
A #12012-es hozzászólásban úgy látszik, mintha 2 sorban lenne megadva a honnan - hova másol, pedig 1 sorba kell írni, közötte szóközzel. Programkódként kellett volna megadnom. -
perfag
aktív tag
válasz
torment #12013 üzenetére
Újabb kérdés: látni vélek egy rendezettséget, amit ofszet segítségével ki lehetne használni.
B3 az alap cella, ehhez képest a napok 5 oszloppal tolják el a cél tartományt, a műszakok pedig 8 sorral. Jól látom?
Most még dolgozom (? ha a tanítást annak lehet mondani), dél körül végzek, ha addig DelDelila nem oldja meg, küldöm a kódot. -
Delila_1
veterán
válasz
torment #12009 üzenetére
Addig is, míg Perfag kérdéseire válaszolsz, a másolás egyszerűbb módja
sheets("Lemez_SPC").range("B35:F42").copy sheets("Heti_adatbázis").range("B3")
elegendő.
Ahhoz, hogy ne legyen mindenféle vigyori fej a képletben, ki kell jelölnöd, és a "Konvertálatlan" üzemmódot kell alkalmaznod. -
perfag
aktív tag
válasz
torment #12009 üzenetére
Az a helyzet, hogy én nem értem (ez persze nem meglepő, ennyi IQ-cskával amennyi nekem van
.
"a hét napjai, naponta három műszak" az a "3x7 feltétel" azt hiszem. Na de hol adod meg ezeket az adatokat? És milyen formában?
"21 helyre kell adatot másolni." - kell, vagy lehet? 21-szer másolod ugyanazt az adatot valahova, vagy egyszer a 21 lehetséges hely valamelyikére? Ez a 21 hely 21 munkalap, vagy egy munkalap 21 különböző lehetséges tartománya? A felépítésről el kellene mondanod egy s mást.
Új hozzászólás Aktív témák
Hirdetés
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Debrecen és környéke adok-veszek-beszélgetek
- Apple MacBook
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- E-roller topik
- Egyre csak fejlődik az AI, emberek tízezreit rúgja majd ki a BT
- Azonnali fáradt gőzös kérdések órája
- Kevesebb dolgozó kell az Amazonnak, AI veszi át a rutinfeladatokat
- One mobilszolgáltatások
- További aktív témák...
- Sea of Thieves Premium Edition és Egyéb Játékkulcsok.
- Windows 10 11 Pro Office 19 21 Pro Plus Retail kulcs 1 PC Mac AKCIÓ! Automatikus 0-24
- Játékkulcsok olcsón: Steam, Uplay, GoG, Origin, Xbox, PS stb.
- Kaspersky, McAfee, Norton, Avast és egyéb vírusírtó licencek a legolcsóbban, egyenesen a gyártóktól!
- Adobe Előfizetések - Adobe Creative Cloud All Apps - 12 Hónap - NYÁRI AKCIÓ!
- Fujitsu USB Port Replicator PR09 docking station (1x5K vagy 2x4K felbontás) (DisplayLink)
- BESZÁMÍTÁS! 32GB (2x16) G.Skill Trident Z RGB 6600MHz DDR5 memória garanciával hibátlan működéssel
- HP 200W (19.5V 10.3A) kis kék, kerek, 4.5x3.0mm töltők + tápkábel, 928429-002
- BESZÁMÍTÁS! MSI B450M R5 5600 16GB DDR4 512GB SSD RTX 3060 12GB THERMALTAKE Core V21 Enermax 650W
- VÉGKIÁRUSÍTÁS - REFURBISHED - Lenovo ThinkPad 40AC Thunderbolt 3 docking station
Állásajánlatok
Cég: PC Trade Systems Kft.
Város: Szeged
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest