< návrat zpět
MS Excel
Téma: vytvoření denního plánu
Zaslal/a davik 1.8.2016 9:11
ahoj,
bojuju s VBA :-)
Mám unikátní seznam výrobků na listě produkt:
produkt 1
produkt 2
produkt n
na druhém listě mám seznam dnů - list dt:
po
út
st
čt
pá
do třetího listu produkt+dt bych potřeboval dostat:
sloupec A Sloupec B
produkt 1 po
produkt 1 út
produkt 1 st
produkt 1 čt
produkt 1 pá
.
.
.
produkt n
Zatím jsem vytvořil tento kód (alespoň na produkt), ale bohužel mi to nefunguje
Sub produkt_dt()
Sheets("produkt").Select
Range("A1").Select
pocet_produktu = Selection.End(xlDown).Row
Sheets("PRODUKT+DT").Select
j = 1
i = 1
For j = 1 To pocet_produktu
For i = 1 To 5
Sheets("produkt+dt").Cells(i, 1) = Sheets("produkt").Cells(j, 1).Value
Next i
Sheets("produkt+dt").Cells(i, 1).Select
ActiveCell.Offset(1, 0).Select
Next j
End Sub
Mohli byste mi prosím poradit?
Díky David
nunus67(1.8.2016 10:07)#032176 Sub produkt_dt()
Dim pocet_produktu As Long
Dim i As Byte, j As Long
Dim r As Long
With Sheets("produkt")
pocet_produktu = .Cells(Rows.Count, "A").End(xlUp).Row
End With
Sheets("PRODUKT+DT").Select
r = 1
For j = 1 To pocet_produktu
For i = 1 To 5
Sheets("produkt+dt").Cells(r, "A") = Sheets("produkt").Cells(j, "A")
Sheets("produkt+dt").Cells(r, "B") = Sheets("dt").Cells(i, "A")
r = r + 1
Next i
Next j
End Subcitovat
davik(1.8.2016 10:12)#032177 nunus67, geniální, díky moc za pomoc.
citovat
eLCHa(1.8.2016 10:16)#032178 Počítám, že pro vás bude moje odpověď stejně srozumitelná jako pro mne vaše zadání. Nicméně jsem si to dal jako cvičení.
Sub subAddVals()
Dim iRowsPr As Long
iRowsPr = Sheets("produkt").Cells(1).CurrentRegion.Rows.Count
Dim iRowsDt As Long
iRowsDt = Sheets("dt").Cells(1).CurrentRegion.Rows.Count
With Sheets("produkt+dt").Cells(1).Resize(iRowsPr * iRowsDt, 1)
.Formula = "=INDIRECT(ADDRESS(INT(1+(ROW()-1)/" & iRowsDt & "),1,,,""produkt""))"
.Value = .Value
Sheets("dt").Cells(1).CurrentRegion.Columns(1).Copy .Offset(0, 1)
End With 'Sheets("produkt+dt").Cells(1).Resize(iRowsPr * iRowsDt, 1)
End Subcitovat
davik(1.8.2016 11:00)#032180 tak to je masakr, ale funguje. Taktéž díky
Ten cyklus od
nanus67 je pro mě pochopitelnější než toto "bezcyklusové" řešení
citovat
marjankaj(1.8.2016 11:19)#032181 davik napsal/a:
tak to je masakr, ale funguje. Taktéž díky
Ten cyklus od nanus67 je pro mě pochopitelnější než toto "bezcyklusové" řešení
No až po prečítaní príspevku od nunus67 som pochopil, o čo ide. To tvoje vysvetľovanie som tiež nepochopil.
citovat