Gå til innhold

Excel 2007 VBA. Finne 2 verdier i 2 forskjellige kolonner


Bigelk

Anbefalte innlegg

Hei.

 

Jeg driver og lager en matriell liste.

Det jeg prøver og få til er at hvis en leder registrer ut matriell til en ansatt

skal den søke igjennom loggen for og se når personen sist fikk dette matriellet skrevet ut.

 

hvis den finner ansatt nr i C og matrialet i kolonne D popper det opp en msgbox som rapporterer når den ansatte sist fikk matrialet, men hvis makroen ikke finner noe kutter den. (det skjer ingenting)

 

Men jeg vil jo da at den fortsetter, og skriver inn i loggen

 

 

Her er koden

if ActiveCell.Value >= 1 Then
Leder = InputBox("Navnet ditt")[/size]
[size=5]Ansatt = InputBox("Hvem er utstyret til?")
AnsNr = InputBox("Ansatt Nummer")

R = Sheets(4).Range("C65226").End(xlUp).Row

Do Until Sheets(4).Cells(R, 3).Value = AnsNr And Sheets(4).Cells(R, 3).Offset(0, 1).Value = ActiveCell.Offset(0, -1).Value
R = R - 1
Loop[/size]

'''Makroen kutter'''

MsgBox Sheets(4).Cells(R, 3).Offset(0, -2).Value & " Skrev ut " & Sheets(4).Cells(R, 3).Offset(0, 1).Value & " til ansatt NR. " & Sheets(4).Cells(R, 3).Value & " " & Sheets(4).Cells(R, 3).Offset(0, -1).Value & " den " & Sheets(4).Cells(R, 3).Offset(0, 2).Value

R = 1

Do Until Sheets(4).Cells(R, 1).Value = ""
R = R + 1
Loop

Sheets(4).Cells(R, 1).Value = Leder
Sheets(4).Cells(R, 1).Offset(0, 1).Value = Ansatt
Sheets(4).Cells(R, 1).Offset(0, 2).Value = AnsNr
Sheets(4).Cells(R, 1).Offset(0, 3).Value = ActiveCell.Offset(0, -1).Value
Sheets(4).Cells(R, 1).Offset(0, 4).Value = Now[/size]

 

Så jeg lurer på om det finnes en mer intelligent måte og gjøre dette på?

 

MVH

 

Torbjørn

Endret av Bigelk
Lenke til kommentar
Videoannonse
Annonse

Hei.

 

Løste den ved å sette inn en if setning

Do Until Sheets(4).Cells(R, 3).Value = "Ansatt Nr"
			    R = R - 1
			    If Sheets(4).Cells(R, 3).Value = AnsNr And Sheets(4).Cells(R, 3).Offset(0, 1).Value = ActiveCell.Offset(0, -1).Value Then
				    MsgBox Sheets(4).Cells(R, 3).Offset(0, -2).Value & " Skrev ut " & Sheets(4).Cells(R, 3).Offset(0, 1).Value & " til ansatt NR. " & Sheets(4).Cells(R, 3).Value & " " & Sheets(4).Cells(R, 3).Offset(0, -1).Value & " den " & Sheets(4).Cells(R, 3).Offset(0, 2).Value
			    End If
		    Loop

 

Men bare si i fra hhvis det er noen som kan en annen måte :)

 

Torbjørn

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...