Just nu i M3-nätverket
Jump to content

Vba hjälp


dasnoob
 Share

Recommended Posts

Hejsan,

 

Försöker göra ett makro som samlar in 5 tal av användaren och tar 5 tal från spreadsheeten. Sedan skall den skriva ut eventuella negativa tal.

Public Sub numbers()
Dim x As Integer
Dim n As Integer
Dim aNumber As Integer
Dim sheet As Worksheet

Set sheet = ActiveSheet
n = 1
For x = 1 To 5
aNumber = InputBox("Gimme a number: ")
If aNumber < 0 Then
   	sheet.Cells(n, 2).Value = aNumber
   	n = n + 1
End If
Next x

For x = 1 To 5
aNumber = sheet.Cells(x, 1).Value
If aNumber < 0 Then
   	sheet.Cells(n, 2).Value = aNumber
   	n = n + 1
End If
Next x
End Sub

 

 

Hur gör jag så att den plockar upp de fem talen från B2 till B6, istället för A1:A5?

 

Samt att de negativa talen skrivs ut i B7 och framåt?

 

Tacksam för svar!

Edited by Monshi
Ed av moderator: Formaterade din kod, införde kod-tagar
Link to comment
Share on other sites

1; Du skriver nu till bladet med två satser i stil med

sheet.Cells(n, 2).Value = aNumber

där du räknar upp n, dvs raden du skriver till. Vill du börja på rad sju, sätt startvärdet på n till sju.

Det är ett sätt att läsa det på. En annan är att i början av koden sätta en referens till den cell du vill börja skrivningen på och sedan arbeta relativt denna. Det du har fungerar dock bra.

 

2: Läsa från B istället för från A

aNumber = sheet.Cells(x, 1).Value

du bestämmer här vilken kolumn du hämtar data från via det andra argumentet till Cells, dvs ett. Ändra denna till två och du läser data ur kolumn två.

Edited by Monshi
Link to comment
Share on other sites

  • 5 years later...

1; Du skriver nu till bladet med två satser i stil med

sheet.Cells(n, 2).Value = aNumber
där du räknar upp n, dvs raden du skriver till. Vill du börja på rad sju, sätt startvärdet på n till sju.

Det är ett sätt att läsa det på. En annan är att i början av koden sätta en referens till den cell du vill börja skrivningen på och sedan arbeta relativt denna. Det du har fungerar dock bra.

 

2: Läsa från B istället för från A

aNumber = sheet.Cells(x, 1).Value
du bestämmer här vilken kolumn du hämtar data från via det andra argumentet till Cells, dvs ett. Ändra denna till två och du läser data ur kolumn två.

 

 

Hej behöver ytterst snabbt hjälp med 2 stycken VBA uppgifter, varav den ena är exakt denna som gjorts ovan, har använt samma kod och försökt modifiera den lite men slutresultatet blir inte önskat den matar in de negativa talen turvis börjandes från B1:B7, i detta fall hade jag 2 negativa tal och de borde ha matats ut börjandes från B7--> detta misslyckades dock cellerna B1:B6 borde hållas orörda. bifogar koden nedan, tack i förväg!

 

 

Private Sub Knapp5_Click()

 

Dim x As Integer

Dim n As Integer

Dim tal As Integer

Dim sheet As Worksheet

 

Set sheet = ActiveSheet

n = 2

For x = 1 To 5

    tal = InputBox("Mata in tal: ")

    If tal < 0 Then

        sheet.Cells(n, 2).Value = tal

        n = n + 1

    End If

Next x

 

For x = 1 To 5

    tal = sheet.Cells(x, 2).Value

    If tal < 0 Then

        sheet.Cells(n, 2).Value = tal

        n = n + 1

    End If

Next x

 

 

End Sub

Link to comment
Share on other sites

Hej behöver ytterst snabbt hjälp med 2 stycken VBA uppgifter, varav den ena är exakt denna som gjorts ovan, har använt samma kod och försökt modifiera den lite men slutresultatet blir inte önskat den matar in de negativa talen turvis börjandes från B1:B7, i detta fall hade jag 2 negativa tal och de borde ha matats ut börjandes från B7--> detta misslyckades dock cellerna B1:B6 borde hållas orörda. bifogar koden nedan, tack i förväg!

 

 

Private Sub Knapp5_Click()

 

Dim x As Integer

Dim n As Integer

Dim tal As Integer

Dim sheet As Worksheet

 

Set sheet = ActiveSheet

n = 2

For x = 1 To 5

    tal = InputBox("Mata in tal: ")

    If tal < 0 Then

        sheet.Cells(n, 2).Value = tal

        n = n + 1

    End If

Next x

 

For x = 1 To 5

    tal = sheet.Cells(x, 2).Value

    If tal < 0 Then

        sheet.Cells(n, 2).Value = tal

        n = n + 1

    End If

Next x

 

 

End Sub

Lyckades klura ut felet :D tack till  ditt tidigare svar @monshi

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share



×
×
  • Create New...