makro, ki kopira iz večjega števila vrstic po 1 na enkrat

Pomoč pri izdelavi makrov
Odgovori
Jozefv
Prispevkov: 14
Pridružen: Ne Mar 28, 2010 12:36 pm

makro, ki kopira iz večjega števila vrstic po 1 na enkrat

Odgovor Napisal/-a Jozefv »

Pozdravljeni

imam naslednji problem in sicer sem generiral vseh 8568 možnih kombinacij, katere imam na delovnem listu ''Kombinacije'' v vrsticah od 1-8568 in stolpcih od A -E. Zdaj bi pa želel, da mi makro kopira po 1 vrstico na enkrat na drugi delovni list, kjer bi se zagnali drugi makri, ki jih mam napisane. En makro s izračuna kombinacijo, drugi pa kopira rešitve v bazo podatkov in tako gre spet nazaj na list kombinacije, kjer izbere naslednjo vrstico in tako vrti model do konca seznama.

Razmišljal sem v tej smeri, da se vedno zgornja vrstica na delovnem listu ''kombinacije'' izbriše in se tako seznam z vsakim krogom zmanjša, vendar je problem, ker ne znam narediti te zanke, ki bi vrtela vse skup.

Posnel sem makro ki kopira to zgornjo vrstico iz lista ''kombinacije'' na list kjer potekajo izračuni dlje pa ne znam, zato se obračam na vas če mi lahko kako pomagate ?

Lep pozdrav

Koda: Izberi vse

Sheets("Kombinacije").Select
    Range("A1:E1").Select
    Selection.Copy
Sheets("Racun").Select
    Range("B4").Select
    Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=True
    Sheets("Kombinacije").Select
    Application.CutCopyMode = False
    Selection.Delete Shift:=xlUp
admin
Site Admin
Prispevkov: 3687
Pridružen: Sr Jul 20, 2005 10:06 pm

Re: makro, ki kopira iz večjega števila vrstic po 1 na enkra

Odgovor Napisal/-a admin »

Pozdravljeni,

Podoben problem sva reševala že v tejle tematiki. Tam sem vam tudi napisal kodo za kopiranje in morate jo samo malce prirediti pa bo.
lp,
Matjaž Prtenjak
Administrator
Jozefv
Prispevkov: 14
Pridružen: Ne Mar 28, 2010 12:36 pm

Re: makro, ki kopira iz večjega števila vrstic po 1 na enkra

Odgovor Napisal/-a Jozefv »

Pozdravljeni, nekak mi je uspelo, da ob enem še zažene excelovega reševalca in reši vsak primer posebej, vendar mi ne uspe z kodo, da bi to rešitev kopiral. Dosedaj sem to počel z dvema gumboma, en je dodelil posameznemu scenarijo številko na podlagi katere je drugi kopiral rešitev na drugo mesto. Sedaj pa mi ne uspe vezati obeh da bi potekalo avtomatsko.


Na listu kombinacije je 8568 kombinacij, katere mi makro kopira 1 po 1 in zažene reševalca in reši problem. Želel bi samo še rezultat vsake od teh vrstic kopirat v neko vrstico. Kopirat pa moram celice b4:b8 ; i4:i8 in c14:c18 tako, da mam rezultate teh 3 obsegov celic zapisane v teh 8568 vrsticah

Koda: Izberi vse

Private Sub CommandButton13_Click()
Dim i As Integer
For i = 1 To 8568
Sheets("kombinacije").Range("B" & i & ":e" & i).Copy
Range("B4").PasteSpecial xlPasteValues, Transpose:=True
Application.CutCopyMode = False
SolverReset
SolverOk SetCell:="$K$3", MaxMinVal:=1, ValueOf:=0, ByChange:="$I$4:$I$8", _
        Engine:=1, EngineDesc:="GRG Nonlinear"
    SolverSolve UserFinish:=True

Prej sem delal tako, da sem gumbu dodelil makro, ki pomika števila naprej

Koda: Izberi vse

Sub GOR()
Dim intDV As Integer
Dim ws As Worksheet
Dim c As Range
Dim rngList As Range

Set ws = Sheets("1 leto")
Set c = ws.Range("a17")
Set rngList = ws.Range("ŠTEVILA ")
intDV = 0
On Error Resume Next
intDV = Application.WorksheetFunction.Match(c.Value, rngList, 0)

If intDV = 0 Or intDV = 1 Then
  c.Value = rngList.Cells(rngList.Rows.Count, 1)
Else
  c.Value = rngList.Cells(intDV - 1, 1)
End If
End Sub

Ta makro pa kopira

Koda: Izberi vse

stc = Excel.Range("I2").Value
    stc = Excel.Range("I2").Value
    
    Range("B4:B8").Select
    Selection.Copy
    Range("B47").Select
    ActiveCell.Offset(stc, 0).Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=True
    Range("B47").Select
    
   Range("i4:i8").Select
    Selection.Copy
    Range("f47").Select
    ActiveCell.Offset(stc, 0).Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=True
    Range("f47").Select

  Range("c14:c18").Select
    Selection.Copy
    Range("l47").Select
    ActiveCell.Offset(stc, 0).Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=True
    Range("l47").Select
admin
Site Admin
Prispevkov: 3687
Pridružen: Sr Jul 20, 2005 10:06 pm

Re: makro, ki kopira iz večjega števila vrstic po 1 na enkra

Odgovor Napisal/-a admin »

Pozdravljeni,

Če vas razumem pravilno želite poklicati kopiranje po tistem, ko se 'Reševalec' izvede. Če je temu tako, morate zadji makro pač poimenovati, npr. Kopiraj in potem ta makro poklicati po zaključku reševalca:

Koda: Izberi vse

Private Sub CommandButton13_Click()
.....
  SolverReset
  SolverOk SetCell:="$K$3", MaxMinVal:=1, ValueOf:=0, ByChange:="$I$4:$I$8", Engine:=1, EngineDesc:="GRG Nonlinear"
  SolverSolve UserFinish:=True

  Kopiraj
......
End sub
lp,
Matjaž Prtenjak
Administrator
Jozefv
Prispevkov: 14
Pridružen: Ne Mar 28, 2010 12:36 pm

Re: makro, ki kopira iz večjega števila vrstic po 1 na enkra

Odgovor Napisal/-a Jozefv »

Hvala
Odgovori