... nu har jag kommit på en förbättring:
Visa celler måste vara ifyllda för att "programmet" skall fungera som det är tänkt, tex cell L9. Nu har jag kommit på nedanstående kod: <font size="1" face="Verdana, Arial, Helvetica, sans-serif">Kod:<font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#666600">Private Sub CommandButton1_Click()
Dim rnCell As Range
Set rnCell = ThisWorkbook.Worksheets("vätskebalans").Range("K6") Range("L9").Select
If Range("L9") = 0 Then Exit Sub
ChDir "C:\WINDOWS\Desktop"
ActiveWorkbook.SaveAs Filename:="C:\WINDOWS\Desktop\" & CStr(rnCell.Value) & ".xls"
Dennis,
det är exakt det jag är ute efter att kolla att inte cellerna är tomma! Och har bara ett arbetsblad i filen.
Fattar inte riktigt vad som skiljer våra koder*hmpf*
Jag har kommit så här långt med min kod <font size="1" face="Verdana, Arial, Helvetica, sans-serif">Kod:<font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#666600">Private Sub Sparknapp_Click()
Dim rnCell As Range
Set rnCell = ThisWorkbook.Worksheets("vätskebalans").Range("I1")
Range("I1, K6, E47:K47, E48:K47, E49:EK49").Select
If Range("L9") = 0 Then MsgBox "Patientens LÄNGD måste vara i fyllt"
If Range("I1") = 0 Then MsgBox "Personnumret måste vara i fyllt" här körde jag fast
If Range("E47:K47") = 0 Then MsgBox "Du har glömt fylla i VIKTen"
If Range("E48:K48") = 0 Then MsgBox "Du har glömt fylla kroppsTEMPen"
If Range("E49:K49") = 0 Then MsgBox "Du har glömt fylla i dagens Vikt"
With ActiveWorkbook
.Save
.SaveCopyAs "C:\Vätskebalans\" & CStr(rnCell.Value) & ".xls"
End With
Application.Quit
End Sub
De problem jag har är:
om inte samtliga villkor är uppfyllda så vill jag "Exit Sub"
som Du kommer ihåg fick jag "datum" koden av dig - den måste väl oxå tas med i villkoren, eller hur? Jag menar så här:
om idag vi är i kolumn E så vill jag att cellerna E47:49 inte får vara tomma, men F47:K49 måste rimligtvis vara tomma. Och imorgon dvs Kolumn F gäller att F47:49 måste vara i fyllda, medan G47:K49 SKall vara tomma osv.
------------------
Tack på förhand!
Det är svårt när förmågan/kunskaperna vida överstiger idéerna/Peter
Dennis, Du är en guldgruva*ler*
men kan Du förklara lite bättre vad Du menar med:
rncellC och rncellD?
rncellC skrev Du att det var cell kontroll - på vilket sätt?
If IsEmpty(rnCellC) Then= om jag fattar
att man skall kolla om rnCell, dvs I1 är tom, eller?
"For Each rnCellD In rnDatum" betyder detta att programet kontrollerar om en cell har datum i fyllt?
------------------
Tack på förhand!
Det är svårt när förmågan/kunskaperna vida överstiger idéerna/Peter
Iof. har klockan hunnit bli sen (kl är 02), men jag har ngra ”fundarationer”:
<font size="1" face="Verdana, Arial, Helvetica, sans-serif">Kod:<font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#666600"> rad1) For Each rnCellC In rnOmrade
rad 2) If IsEmpty(rnCellC) Then
rad 3) MsgBox sMedd, vbCritical, sTitel
rad 4) End
rad 5) End If
rad 6) Next rnCellC
rad 7) End If
rad 8) Next rnCellD
Några frågor:
”End” i rad 4 tillhör det MsgBoxen?
Om jag har fattat rätt så betyder rad 1+ 2 att för varje cell i området skall programmet kontroller om cellen är tom, och om den är det så kommer MsgBox upp. Varför behövs då rad 6?
Du har skrivit 2 st. ”End If” (rad 5 + 7), men bara 1st ”If” (rad 2). Iof. Har VBE accepterat det, men jag trodde att If och End If alltid ”kommer i par”
<font size="1" face="Verdana, Arial, Helvetica, sans-serif">Kod:<font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#666600"> rad a) Set wsBlad = ThisWorkbook.Worksheets("vätskebalans")
rad b) With ActiveWorkbook
rad c) .SaveAs Filename:="C:\WINDOWS\Desktop\" & CStr(rnCell.Value)
rad d).SaveCopyAs Filename:="C:\Vätskebalans\" & CStr(rnCell.Value) & ".xls"
End With
Skulle man kunna skriva:. wsBlad.SaveAs Filename:="C:\WINDOWS\Desktop\" & CStr(rnCell.Value) i stället?
Om ja, fördelar och nackdelar
------------------
Tack på förhand!
Det är svårt när förmågan/kunskaperna vida överstiger idéerna/Peter
Vill skapa en Sub som när den körs tar bort den öppna filen
Försökt tänka baklänges, men har inte kommit ngn vart på 3 timmar:
Nedanstående är ett av mina försök:
<font size="1" face="Verdana, Arial, Helvetica, sans-serif">Kod:<font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#666600">Private Sub Tabortknapp_Click()
Dim wsBlad As Worksheet
Dim rnCell As Range
Set wsBlad = ThisWorkbook.Worksheets("vätskebalans")
Set rnCell = wsBlad.Range("I1")
.Delete Filename:="C:\WINDOWS\Desktop\" & CStr(rnCell.Value)
End Sub
Får hela tiden felmedd: ”Kompileringsfel: Ogiltig eller okvalifierad referens” och .Delete markeras
------------------
Tack på förhand!
Det är svårt när förmågan/kunskaperna vida överstiger idéerna/Peter
hittade på detta med, med hjälp fr hjälpfilen:
Private Sub Sparknapp_Click()
Dim wsBlad As Worksheet
Dim rnCell As Range
Dim objFilsystem As FileSystemObject
Dim objFill As File
Set wsBlad = ThisWorkbook.Worksheets("vätskebalans")
Set rnCell = wsBlad.Range("I1")
Set objFill = "C:\WINDOWS\Desktop\" & CStr(rnCell.Value)
objFill.Delete
kan man anv. denna variant med?
vad skall då Set objFilsystem=??
------------------
Tack på förhand!
Det är svårt när förmågan/kunskaperna vida överstiger idéerna/Peter
136 ms totalt · 3 externa anrop · v20260731065814-full.4bcf49fe