Gå till innehåll

VBA - Fråga om en formel


Gå till lösning Löst av MH_,

Recommended Posts

Hej, 

 

Jag funderar på om det går att skriva ut ett makro som fyller i kolumn B åt mig baserat på värdet i H3.

I H3 har jag =COUNTA(G2:G100).

I mitt exempel ovan här så blir värdet i H3, fem (5).

Kan jag då skriva koden så att ordet "Blå" ska skrivas ut fem gånger i kolumn B? 

Värdet i H3 kommer att variera från 1-100.

 

Jag hittade en youtubevideo som gav mig en ungefärlig förklaring, med koden nedan, men jag vill inte alltid ha x = 1 to 100. Jag vill att X ska bara 1 to 5 om värdet i H3 är fem. 

 

Sub ExampleBlå()

Dim x As Integer

For x = 1 To 100
Range("B" & x).Select
If Range("B" & x).Value = "Stop" Then
Exit For
ElseIf Range("B" & x).Value = "" Then
Range("B" & x).Value = "Info"
End If

Next x

End Sub

 

Länk till kommentar
Dela på andra webbplatser

  • Lösning

Formler (i B1):

Texten blå 5 ggr i samma cell
=REP("Blå";H3)

Texten blå fem ggr i fem olika celler:
=OM(SEKVENS(H3)>0;"blå")

 

VBA om du vill träna på det:

Sub ExampleBlå()
Dim i As Integer
Dim iAntalBlå As Integer
Dim rStartCell As Range

'Hämta värdet från rätt cell (H3)
AntalBlå = Sheets("Blad1").Range("H3").Value

' Ange var din startcell ligger. Obs att rSstartCell
' BLIR B1 när man kör Set. Den hämtar inget värde utan
' den blir verkligen b1
Set rStartCell = Sheets("Blad1").Range("B1")

' avsluta om H3 har värdet 0
If AntalBlå = 0 Then Exit Sub

' sen kör du loopen
For i = 1 To AntalBlå
Sheets("Blad1").Range("B" & i).Value = "Blå"
Next i

' Alternativ loop
' Jag skulle personligen ha använt den här koden med .Offset i loopen.
' Men då får du  -1 som kan vara svårt att förstå när
' du kollar koden om ett år . 
For i = 0 To (AntalBlå - 1)
rStartCell.Offset(i, 0).Value = "Blå"
Next i

End Sub
Redigerad av MH_
  • Like 1
Länk till kommentar
Dela på andra webbplatser

Delta i dialogen

Du kan skriva svaret nu och registrera dig senare, Om du har ett konto, logga in nu för att svara på inlägget.

Gäst
Svara i detta ämne...

×   Du har klistrat in innehåll med formatering.   Ta bort formatering

  Only 75 emoji are allowed.

×   Din länk har automatiskt bäddats in.   Visa som länk istället

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Skapa nytt...