PNG32 PNG32 PNG32 PNG32
PNG32
Forum Excel, VBA, VSTO, Exceltips, Excelhj�lp PNG32 drivs av Excelspecialisten    Logga in     English
PNG32
PNG32 PNG32
PNG32

Logga in

PNG32

Du är inte inloggad. Logga in eller registrera dig för att skriva inlägg eller svara på inlägg.

För frågor om forumet, kontakta oss på webmaster@excelforum.se

PNG32 PNG32
PNG32 PNG32
PNG32

Excelforum

PNG32

 
ForumForumDiskussionerDiskussionerVBAVBAFor loopFor loop
Föregående Föregående
 
Nästa Nästa
Nytt inlägg
 2024-05-01 18:33
 

 Hej

Amatör som inte behärskar For Loop och skulle behöva hjälp med följande.

Har ett excel ark där jag vill gör några tusen loopar genom ett blad.

Koden ser ut som följer och det jag vill är att kunna köra samma kod men då på 8 rader neråt i bladet

och nästa gång 16 rader neråt o.s.v.

Option Explicit
 
Sub ExtraheraTal()
 
    Dim ws As Worksheet
    Dim i As Long
    
    ' Ange arbetsbladet där tabellen finns
    Set ws = ThisWorkbook.Sheets("StigandeFallande") ' Byt ut "DittArbetsbladNamn" mot det faktiska namnet    
    
    ' Loopa igenom varje rad i tabellen
    For i = 3 To 10
        ' Hämta värden från kolumn B, C och D
        Dim tal1 As Double
        Dim tal2 As Double
        Dim tal3 As Double
        tal1 = ws.Cells(i, 2).Value
        tal2 = ws.Cells(i, 3).Value
        tal3 = ws.Cells(i, 4).Value
        
        ' Hämta tecknet från kolumn K
        Dim tecken As String
        tecken = ws.Cells(i, 11).Value
        
        ' Beräkna det önskade talet baserat på tecknet
        Dim resultat As Double
        Select Case tecken
            Case "1"
                resultat = tal1
            Case "X"
                resultat = tal2
            Case "2"
                resultat = tal3
        End Select
        
        ' Skriv resultatet till kolumn F
        ws.Cells(i, 6).Value = resultat
    Next i
    
    Call ExtraheraStigandeFöljder
    
End Sub
 
Sub ExtraheraStigandeFöljder()
    Dim ws As Worksheet
    Dim i As Long
    Dim stigande As Long
    Dim strA As String, tidigare As String
    
    ' Ange arbetsbladet där tabellen finns
    Set ws = ThisWorkbook.Sheets("StigandeFallande") ' Byt ut "DittArbetsbladNamn" mot det faktiska namnet
    
    ' Loopa igenom varje rad i tabellen
    For i = 4 To 11
        ' Hämta aktuellt tal från kolumn F
        Dim aktuelltTal As Double
        
        aktuelltTal = ws.Cells(i, 6).Value
        
        ' Hämta föregående tal från kolumn F
        Dim forrigeTal As Double
        forrigeTal = ws.Cells(i - 1, 6).Value
        
        ' Jämför värdena för att avgöra om det är ett stigande tal
        If aktuelltTal > forrigeTal Then
           strA = strA & forrigeTal & "-"
           tidigare = aktuelltTal
        Else: If strA <> "" Then ws.Cells(i - 1, 8) = strA & tidigare
           strA = ""
           
        End If
    Next i
    
    Call ExtraheraFallandeFöljder
    
End Sub
 
Sub ExtraheraFallandeFöljder()
    Dim ws As Worksheet
    Dim i As Long
    Dim stigande As Long
    Dim strA As String, tidigare As String
    
    ' Ange arbetsbladet där tabellen finns
    Set ws = ThisWorkbook.Sheets("StigandeFallande") ' Byt ut "DittArbetsbladNamn" mot det faktiska namnet
    
    ' Loopa igenom varje rad i tabellen
    For i = 4 To 11
    
        If i = 11 Then
        ws.Cells(i, 6) = 1000
        End If
    
        ' Hämta aktuellt tal från kolumn F
        Dim aktuelltTal As Double
        aktuelltTal = ws.Cells(i, 6).Value
        
        ' Hämta föregående tal från kolumn F
        Dim forrigeTal As Double
        forrigeTal = ws.Cells(i - 1, 6).Value
        
        ' Jämför värdena för att avgöra om det är ett fallande tal
        If aktuelltTal < forrigeTal Then
            strA = strA & forrigeTal & "-"
           tidigare = aktuelltTal
        Else:           If strA <> "" Then ws.Cells(i - 1, 9) = strA & tidigare
           strA = ""
           
        End If
    Next i
    
    ws.Cells(11, 6) = ""
    
End Sub
 

 

 

Föregående Föregående
 
Nästa Nästa
ForumForumDiskussionerDiskussionerVBAVBAFor loopFor loop

PNG32 PNG32
Excelforum drivs av Excelspecialisten som bedriver utbildning i Excel och VBA, tillhandahåller support och hjälp med Excel, utvecklar program i Excel. Är ni i behov av en konsult inom Excel, VBA eller VSTO, eller söker en excelkurs, kontakta oss.
Copyright 2013 ExcelSpecialisten XLS AB   Användarvillkor  Personliga uppgifter