Dansk Regneark Forum
  Hjælp Hjælp  Søg i forum   Arrangementer   Opret ny bruger Opret ny bruger  Log ind Log ind


Emne lukketArray Loop i loop

 Besvar Besvar
Forfatter
Blichfeldt Se dropdown
Bronze bruger
Bronze bruger
Avatar

Medlem: 06.Apr.2016
Land: Denmark
Status: Offline
Point: 51
Direkte link til dette indlæg Emne: Array Loop i loop
    Sendt: 06.Jul.2016 kl. 21:20
Hej Forum
 
Måske en af jer kan hjælpe lidt.
Jeg prøver at lave et loop i et loop i et array.
Og nej, jeg er ikke haj til arrays
 
Det indsatte prøver at beskrive hvad jeg vil opnå.
Håber en af jer andre har en god ide.
-----------
Sub Sub_Test()
Dim MitArray(1 To 10000, 1 To 11) As integer
Dim i As integer

if Range(A1)=26 then
For i = 1 To Sheets("ark1").Range("AB5").Value
' loop
    Range(B1)=0
    Range(B2)=0
    Range(B3)=0
    Range(B4)=0
    Range(B5)=1
    Range(B6)=1
    Range(B7)=1
    Range(B8)=1
    Range(B9)=2
    Range(B10)=2
    Range(B11)=2
    Range(B12)=2
    OSV til slut jvf i

elseif Range(A1)=26 then
' loop
    Range(B1)=0
    Range(B2)=0
    Range(B3)=1
    Range(B4)=1
    Range(B5)=2
    Range(B6)=2
    Range(B7)=3
    Range(B8)=3
    OSV til slut jvf i
 
elseif Range(A1)=24 then
    Range(B1)=0
    Range(B2)=1
    Range(B3)=2
    Range(B4)=3
    OSV til slut jvf i
 
elseif Range(A1)=23 then
    Range(B1)=0
    Range(B2)=2
    Range(B3)=4
    Range(B4)=6
    OSV til slut jvf i
end if
end sub
Til top



Til top
Blichfeldt Se dropdown
Bronze bruger
Bronze bruger
Avatar

Medlem: 06.Apr.2016
Land: Denmark
Status: Offline
Point: 51
Direkte link til dette indlæg Sendt: 10.Jul.2016 kl. 20:52
Lidt opdatering.
 
Jeg er kommet lidt videre, bla. grundet en design ændring.
 
Følgende løkke virker, men ikke efter hensigten.
Jeg vil gerne have den til at gentage en løkke 12 gange, og den ene løkke vil jeg gerne have gentaget x gange, men hele tiden på et ny område.
Og data hver gang en 12'er løkke startes skal $f$1 tælle 1 op.
Sub ChangeRowData()
Dim i As Variant
Dim j As Variant

 Sheets("SCRIPTFILE").Select
  Range("A1").Select
 
 ' For i = 1 To Sheets("count").Range("AB4").Value
 

  For j = 1 To 12
    ActiveCell.Replace What:="$F$1", Replacement:="$F$1", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
    Cells.FindNext(After:=ActiveCell).Activate
 Next j
 
  For j = 1 To 12
    ActiveCell.Replace What:="$F$1", Replacement:="$F$2", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
   Cells.FindNext(After:=ActiveCell).Activate
Next j

For j = 1 To 12
      ActiveCell.Replace What:="$F$1", Replacement:="$F$3", LookAt:=xlPart, _
      SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
      ReplaceFormat:=False
  Cells.FindNext(After:=ActiveCell).Activate
 Next j
  
  For j = 1 To 12
       ActiveCell.Replace What:="$F$1", Replacement:="$F$4", LookAt:=xlPart, _
       SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
       ReplaceFormat:=False
   Cells.FindNext(After:=ActiveCell).Activate
 Next j
   
    'osv op til i
 
End Sub
 
Til top
Blichfeldt Se dropdown
Bronze bruger
Bronze bruger
Avatar

Medlem: 06.Apr.2016
Land: Denmark
Status: Offline
Point: 51
Direkte link til dette indlæg Sendt: 10.Jul.2016 kl. 20:54
12'er løkken er j, og hver gang i tæller 1 op, så tælles $F$1 1 op
Til top
Blichfeldt Se dropdown
Bronze bruger
Bronze bruger
Avatar

Medlem: 06.Apr.2016
Land: Denmark
Status: Offline
Point: 51
Direkte link til dette indlæg Sendt: 11.Jul.2016 kl. 15:07
Så har jeg prøvet en anden vej, og der er desværre også forhindringer.
Og nej, jeg er ikke en haj.
Jeg har lært en masse, men endnu ikke fundet de vise sten.
 
Håber en af jer kan vise mig vejen.
 
Her er mit nye tiltag.
 
Sub Script_Generate_Add_Data()
Dim MitArray(1 To 10000) As Variant
Dim iCount As Integer
Dim j As Integer
' Copy IP range x times in next free cell, based on value sheet subnet cell AB5

 'Jeg vil gerne indsætte en reference Generate_Range!f1
 'Start referencen vil være denne placering Generate_Range!f1
 'Denne reference skal så tælle 1 op per i
 'Eks
 'Generate_Range!f1
 'Generate_Range!f2
 'Generate_Range!f3
 
Sheets("SCRIPTFILE").Select
Range("G1").Select
 
' Denne del virker ikke :-(
For iCount = 1 To Sheets("Count").Range("AB5").Value
   MitArray(iCount) = Generate_Range!F & iCount + 1
 
 
' Denne del virker :-)
' Denne del indsætter Generate_Range!f1 12 gange
For j = 1 To 12
ActiveSheet.Paste
ActiveCell.Offset(1, 0).Select
Next j
ActiveCell.Offset(2, 0).Select
Next iCount
End Sub
 
Til top
Blichfeldt Se dropdown
Bronze bruger
Bronze bruger
Avatar

Medlem: 06.Apr.2016
Land: Denmark
Status: Offline
Point: 51
Direkte link til dette indlæg Sendt: 14.Jul.2016 kl. 14:00
Opgaven er løst med endnu et redesign.
Det er ikke så pænt men det virker
Til top
 Besvar Besvar

Skift forum Forum tilladelser Se dropdown

© 2010 - 2024 Dansk Regneark Forum - en del af Excel-regneark.dk