15. oktober 2006 - 00:01Der er
20 kommentarer og 1 løsning
hjælp til opslag
Jeg har en form: Private Sub CommandButton1_Click() ActiveWorkbook.Sheets("Samle").Activate Cells(7, 8) = Val(Me.TextBox1) UserForm1!TextBox1.Value = "" ' sletter værdierne i tekstboksene End Sub
Den sætter jo en værdi ind i H7 på arket ”samle” Jeg vil gerne at den kan slå op på arket ”1” kolone E celle 6 til 2000 med dags dato som refrence og så sætte H7 værdien ind i ark ”1” kolone F celle 6 til 2000. Den værdi der sættes ind skal ”gemmes” så når man dagen efter sætter en ny værdi i H7 via userform /Commandbutton1 så kommer den ind udfor den nye dato. F.eks 13-10-06 i kolone E og 10 i kolone F.... 14-10-06 i kolone E og 11 i kolone F
Private Sub CommandButton1_Click() Dim Dato As Variant, I As Long Dato = Sheets(1).Range("E6:E2000") ActiveWorkbook.Sheets("Samle").Cells(7, 8) = Val(Me.TextBox1) UserForm1!TextBox1.Value = "" ' sletter værdierne i tekstboksene For I = 1 To UBound(Dato) If Dato(I, 1) = Date Then Sheets(1).Cells(I + 5, "F") = Sheets("Samle").Cells(7, 8) Exit Sub End If Next End Sub
Super, hvad hvis jeg vil have den til at gøre det på flere ark (2) og (3) Hvis jeg Sætter denne ind ActiveWorkbook.Sheets("Samle").Cells(8, 8) = Val(Me.TextBox2) ActiveWorkbook.Sheets("Samle").Cells(9, 8) = Val(Me.TextBox3) og denne Sheets(2).Cells(I + 5, "F") = Sheets("Samle").Cells(8, 8) Sheets(3).Cells(I + 5, "F") = Sheets("Samle").Cells(9, 8) Så virker det ikke, har det noget med denne at gøre Dato = Sheets(1).Range("E6:E2000") Alle 3 ark er ens
Jeg har lige en til J I kolonerene M og N bliver værdierne lagt sammen nedover M6+M7, M7+M8 Det er ikke hver dag man skal sætte nye værdier ind, og så skal sammenlægningen fortsætte, men jeg har prøvet med denne form. Private Sub CommandButton4_Click() Dim Dato As Variant, I As Long Dato = Sheets(1).Range("d6:d2000") ActiveWorkbook.Sheets("Samle").Cells(24, 1) = Val(Me.TextBox7) ActiveWorkbook.Sheets("Samle").Cells(24, 2) = Val(Me.TextBox8) UserForm1!TextBox7.Value = "" ' sletter værdierne i tekstboksene UserForm1!TextBox8.Value = "" ' sletter værdierne i tekstboksene For I = 1 To UBound(Dato) If Dato(I, 1) = Date Then Sheets(1).Cells(I + 5, "M") = Sheets("Samle").Cells(24, 1) Sheets(1).Cells(I + 5, "N") = Sheets("Samle").Cells(24, 2) Exit Sub End If Next End Sub Den sætter ok det jeg ønsker ind, men hvad sker der når jeg kun har f.eks værdien 4 i (24,1) og ikke noget i (24,2), vil den så nulstille cellen i kolone N? Det er meningen at hvis f.eks textbox8 er tom skal der ikke overføres noget til kolone N. Men hvis værdien i textbox8 er 0 eller mere så skal den værdi over. Det samme gælder også for textbox7 Kan man det eller skal jeg have gang i nogle checkboxe?
Private Sub CommandButton4_Click() Dim Dato As Variant, I As Long Dato = Sheets(1).Range("d6:d2000") ActiveWorkbook.Sheets("Samle").Cells(24, 1) = Val(Me.TextBox7) ActiveWorkbook.Sheets("Samle").Cells(24, 2) = Val(Me.TextBox8) UserForm1!TextBox7.Value = "" ' sletter værdierne i tekstboksene UserForm1!TextBox8.Value = "" ' sletter værdierne i tekstboksene For I = 1 To UBound(Dato) If Dato(I, 1) = Date Then if Sheets("Samle").Cells(24, 1)> 0 then Sheets(1).Cells(I + 5, "M") = Sheets("Samle").Cells(24, 1) if Sheets("Samle").Cells(24, 2)> 0 then Sheets(1).Cells(I + 5, "N") = Sheets("Samle").Cells(24, 2) Exit Sub End If Next End Sub
Ok men hvad med >0 jeg skal kunne nulstille til værdien 0 men kun når jeg vil. Kand det være noget med at den ikke gør det hvis værdien i textbox er blank. Det er til at bogføre repration og udskiftnong ad dele på en pumpe, så jeg kan se hvormange timer pumpen har kørt, og når det sættes en ny del i skal jeg kunne nulstille den, det kan i nogle tilfælde være at den del der kommer i har gået x antal timer.
Private Sub CommandButton4_Click() Dim Dato As Variant, I As Long Dato = Sheets(1).Range("d6:d2000") ActiveWorkbook.Sheets("Samle").Cells(24, 1) = Val(Me.TextBox7) ActiveWorkbook.Sheets("Samle").Cells(24, 2) = Val(Me.TextBox8) For I = 1 To UBound(Dato) If Dato(I, 1) = Date Then If UserForm1!TextBox7.Value <> "" Then Sheets(1).Cells(I + 5, "M") = Sheets("Samle").Cells(24, 1) If UserForm1!TextBox8.Value <> "" Then Sheets(1).Cells(I + 5, "N") = Sheets("Samle").Cells(24, 2) Exit Sub End If Next UserForm1!TextBox7.Value = "" ' sletter værdierne i tekstboksene UserForm1!TextBox8.Value = "" ' sletter værdierne i tekstboksene
Ok prøver det. Har jo nok igen kastet mig selv ud på lidt dybt vand.. Har købe programering med vba i excel, og den hjælper noget, men jeg kan jo godt se jeg har langt igen.
Jeg har nu skrevet den så den passer med alle de textboxe jeg har, og har får skrevet til andre ark. Den skriver ok til ark ("rep") men der sker ikke noget på (1)? Det er sikkert mig der har fucket noget op, men hvad? Her er subben Private Sub CommandButton4_Click() Dim Dato As Variant, I As Long Dato = Sheets(1).Range("d6:d2000")
Private Sub CommandButton4_Click() Dim Dato As Variant, I As Long, C As Long, Temp As String, Tb As Object
For C = 7 To 37 Sheets("rep").Cells(3, C - 5) = Val(Me.Controls("TextBox" & C).Text) Next
Dato = Sheets(1).Range("d6:d2000") For I = 1 To UBound(Dato) If Dato(I, 1) = Date Then For C = 7 To 37 If Me.Controls("TextBox" & C).Text <> "" Then Sheets(1).Cells(I + 5, C) = Sheets("rep").Cells(3, C - 5) Next Exit Sub End If Next
Nej jeg brugte kun den kode du har sat her til mig, og prøvede at sætte værdien 33 i textbox 7 og 8. Den førte 33 til ("rep") cells(3,2) og Cells(3,3) men ikke noget til (1) kolone H og I Den indeholder textboxe 7 til 37
Ja der er datoer i D7 til D372 fra 1/1-YY og 1 år frem. Har prøvet at ændre det til D7 til D372, men stadig det samme. Jeg kan godt sende det til dig hvis det er.
prøv denne, der er forskel på sheet(1) og sheet("1")
Private Sub CommandButton4_Click()
Dim Dato As Variant, I As Long, C As Long, Temp As String, Tb As Object
For C = 7 To 37 Sheets("rep").Cells(3, C - 5) = Val(Me.Controls("TextBox" & C).Text) Next
Dato = Sheets("1").Range("d7:d372") For I = 1 To UBound(Dato) If Dato(I, 1) = Date Then For C = 7 To 37 If Me.Controls("TextBox" & C).Text <> "" Then Sheets("1").Cells(I + 5, C) = Sheets("rep").Cells(3, C - 5) Next Exit Sub End If Next
Dim Dato As Variant, I As Long, C As Long, Temp As String, Tb As Object
For C = 7 To 37 Sheets("rep").Cells(3, C - 5) = Val(Me.Controls("TextBox" & C).Text) Next
Dato = Sheets("1").Range("d7:d372") For I = 1 To UBound(Dato) If Dato(I, 1) = Date Then For C = 7 To 37 If Me.Controls("TextBox" & C).Text <> "" Then Sheets("1").Cells(I + 5, C + 1) = Sheets("rep").Cells(3, C - 5) Next Exit Sub End If Next
End Sub
Private Sub CommandButton5_Click() Dim Dato As Variant, I As Long, C As Long, Temp As String, Tb As Object
For C = 38 To 68 Sheets("rep").Cells(4, C - 36) = Val(Me.Controls("TextBox" & C).Text) Next
Dato = Sheets("2").Range("d7:d372") For I = 1 To UBound(Dato) If Dato(I, 1) = Date Then For C = 38 To 68 If Me.Controls("TextBox" & C).Text <> "" Then Sheets("2").Cells(I + 5, C - 30) = Sheets("rep").Cells(4, C - 36) Next Exit Sub End If Next End Sub
Private Sub CommandButton6_Click() Dim Dato As Variant, I As Long, C As Long, Temp As String, Tb As Object
For C = 69 To 99 Sheets("rep").Cells(5, C - 67) = Val(Me.Controls("TextBox" & C).Text) Next
Dato = Sheets("3").Range("d7:d372") For I = 1 To UBound(Dato) If Dato(I, 1) = Date Then For C = 69 To 99 If Me.Controls("TextBox" & C).Text <> "" Then Sheets("3").Cells(I + 5, C - 61) = Sheets("rep").Cells(5, C - 67) Next Exit Sub End If Next
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.