kunde

kunde profiilikuva
Joulu 2024
Vapaa kuvaus

Isaan Rules WFF CCC If you walked away smiling-then for you the price was right Keep Exceling Suosikkibändit/artistit: Queen, Rammstein, genesis, Bruce Bringsteen, Kino, Mandref Mann Earth band Who Lempikirjat: ohjelmointi... Suosikkipalstat Suomi24 Keskusteluissa: EXCEL, Kivitalot, EPS En pidä: pakkanen ja loskakelit Ruoka & juoma: loimulohi ja valkkari Linkit: http://www.kundepuu.com, Khorat Koulutus: --- Ammatti: Tiede/teknologia Työskentelen: freelancer Ase tai siviilipalvelus: yliluutnantti Siviilisääty: Varattu Lapset: --- Hakusanat: Thaimaa, korat, Excel, VBA, ACAD, CNC, Polyurea, EPS, MgO elementti

Liittynyt 20v sitten
7 aloitusta · 1377 kommenttia
Uusimmat aloituksetSuosituimmat aloituksetUusimmat kommentit
no laiskuus päällä edellen ja loppuviikko meneekin uuden CNC koneen parissa...
mutta jospa virkistytään, niin siltä varalta muutama kyssäri ;-)

Ylläpidän erään firman verkkokauppaa ja sitä olis tarkoitus päivittää suh tiheään tahtiin.
Käytän kahta eri taulukkoa (tai 2 eri välilehteä)
- toinen on verkkokaupasta tallennettu csv tiedosto jonka tallennan xls muotoon (olkoon nimi vaikka verkkokaupantuotteet.xls tai saman niminen sheet)
- ja toinen on toiminnanohjausjärjestelmästä poimittu tiedosto (toj_tiedot.xls tai saman niminen sheet)

mikä on tiedoston rakenne?
saakos toj_tiedot.xls kanssa csv muodossa? jos saa niin helpottaa koodaamista...

Tarkoitus olisi saada nämä kaksi tiedostoa keskustelemaan paremmin.
Tällähetkellä käytän
- phaku -funktiota suositushintojen hakuun
- summa.jos -funktiota varastosaldojen päivitykseen.

verkkokaupantuotteet.xls voi olla eri hinta kuin verkkokaupantuotteet.xls?
verkkokaupantuotteet.xls voi olla eri varastosaldo kuin verkkokaupantuotteet.xls?
missä sarakkeessa on tuote mitä tsekkaillaan?
missä sarakkeissa on hinta/varastosaldo?
mitenkäs käsitellään jos eri hinta tai varasto saldo? miten ja mihin siirretään tietoa?

Päänvaivaa aiheuttaa uudet tuotteet joita ilmestyy toiminnanohjausjärjestelmään suh tiheään.
Olisiko jokin funktio tai toiminto jolla voisin poimia / verrata näitä kahta listaa ja siten että ko. toiminto osaisi lisätä uudet tuotteet tuonne verkkokaupantuotteet.xls listaukseen?

no problem jos edelliset kohdat tiedetään...

Nyt teen tätä manuaalisesti ja ottaa pirukseen aikaa käydä aina läpi yli 2000 tuotetta.

uskotaan... ;-)
jos hyvin vastailet niin voi olla, että laiskottelu lakkaa (555)
Kiinnostus heräsi ja tsekkasin makron mahdollisuutta...
Wordissahan voi tehdä 9 eri otsikkotasoa maksimissaan, mikä lienee riittää sukupuussakin ikäpolviksi???
eli helpommalla pääsee kun valitsee valikosta näkymäksi VIEW/OUTLINE
sitten vaan alkaa kirjotteleen sukupuuta tyyliin
1 otsikko oma nimesi
2 otsikko(sisennyksellä) äiti
3 otsikko(sisennyksellä) äitin äiti
3 otsikko(sisennyksellä) äitin isä
2 otsikko(sisennyksellä) isä
3 otsikko(sisennyksellä) isän äiti
3 otsikko(sisennyksellä) isän isä
4 jne...

ja sitten vaan suorittaa makron...
ja sukupuu siististi uudessa dokkarissa...

liitä moduuliin...
Sub OrganisaatioKaavio()

Dim doc As Document
Dim para As Paragraph
Dim Teksti As String
Dim nodeRoot As DiagramNode
Dim Laatikko As Shape
Dim node1 As DiagramNode
Dim node2 As DiagramNode
Dim node3 As DiagramNode
Dim node4 As DiagramNode
Dim node5 As DiagramNode
Dim node6 As DiagramNode
Dim node7 As DiagramNode
Dim node8 As DiagramNode
Dim node9 As DiagramNode

On Error Resume Next

Set doc = ActiveDocument
Set Laatikko = Documents.Add.Shapes.AddDiagram(msoDiagramOrgChart, 0, 0, 500, 500)
Set nodeRoot = Laatikko.DiagramNode.Children.AddNode
nodeRoot.TextShape.TextFrame.TextRange.Text = "Sukupuu"

For Each para In doc.Paragraphs
Select Case para.OutlineLevel
Case wdOutlineLevel1
Teksti = Left(para.Range.Text, para.Range.Characters.Count - 1)
Set node1 = nodeRoot.Children.AddNode
node1.TextShape.TextFrame.TextRange.Text = Teksti
Set node2 = Nothing
Set node3 = Nothing
Set node4 = Nothing
Set node5 = Nothing
Set node6 = Nothing
Set node7 = Nothing
Set node8 = Nothing
Set node9 = Nothing

Case wdOutlineLevel2
Teksti = Left(para.Range.Text, para.Range.Characters.Count - 1)
Set node2 = node1.Children.AddNode
node2.TextShape.TextFrame.TextRange.Text = Teksti
Set node3 = Nothing
Set node4 = Nothing
Set node5 = Nothing
Set node6 = Nothing
Set node7 = Nothing
Set node8 = Nothing
Set node9 = Nothing

Case wdOutlineLevel3
Teksti = Left(para.Range.Text, para.Range.Characters.Count - 1)
Set node3 = node2.Children.AddNode
node3.TextShape.TextFrame.TextRange.Text = Teksti
Set node4 = Nothing
Set node5 = Nothing
Set node6 = Nothing
Set node7 = Nothing
Set node8 = Nothing
Set node9 = Nothing

Case wdOutlineLevel4
Teksti = Left(para.Range.Text, para.Range.Characters.Count - 1)
Set node4 = node3.Children.AddNode
node4.TextShape.TextFrame.TextRange.Text = Teksti
Set node5 = Nothing
Set node6 = Nothing
Set node7 = Nothing
Set node8 = Nothing
Set node9 = Nothing

Case wdOutlineLevel5
Teksti = Left(para.Range.Text, para.Range.Characters.Count - 1)
Set node5 = node4.Children.AddNode
node5.TextShape.TextFrame.TextRange.Text = Teksti
Set node6 = Nothing
Set node7 = Nothing
Set node8 = Nothing
Set node9 = Nothing

Case wdOutlineLevel6
Teksti = Left(para.Range.Text, para.Range.Characters.Count - 1)
Set node6 = node5.Children.AddNode
node6.TextShape.TextFrame.TextRange.Text = Teksti
Set node7 = Nothing
Set node8 = Nothing
Set node9 = Nothing

Case wdOutlineLevel7
Teksti = Left(para.Range.Text, para.Range.Characters.Count - 1)
Set node7 = node6.Children.AddNode
node7.TextShape.TextFrame.TextRange.Text = Teksti
Set node8 = Nothing
Set node9 = Nothing

Case wdOutlineLevel8
Teksti = Left(para.Range.Text, para.Range.Characters.Count - 1)
Set node8 = node7.Children.AddNode
node8.TextShape.TextFrame.TextRange.Text = Teksti
Set node9 = Nothing

Case wdOutlineLevel9
Teksti = Left(para.Range.Text, para.Range.Characters.Count - 1)
Set node9 = node8.Children.AddNode
node9.TextShape.TextFrame.TextRange.Text = Teksti
End Select
Next para
End Sub

Keep Wording
@Kunde
arvelisin, että syötät koodissa päiväyksen tekstinä tyyliin...
Range("A10") = "1.1.2009"

sensijaan syötä se seuraavasti
Range("A12") = CDate("1.1.2009")
ja muotoilut toimii OK.

Keep Excelling
@Kunde