Just nu i M3-nätverket
Gå till innehåll

Vba hjälp


dasnoob

Rekommendera Poster

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!

Länk till kommentar
Dela på andra webbplatser

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å.

Länk till kommentar
Dela på andra webbplatser

  • 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

Länk till kommentar
Dela på andra webbplatser

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

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...