---
title: "nu har jag kommit på ..."
type: "forum-thread"
url: "https://www.webforum.nu/amne/kontorsprogram/23416-nu-har-jag-kommit-på"
topic: "Kontorsprogram"
topic_url: "https://www.webforum.nu/amne/kontorsprogram"
author: "prls"
published: "2001-07-18T14:12:00.000Z"
updated: "2001-07-19T20:27:00.000Z"
replies: 10
views: 428
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/kontorsprogram/23416-nu-har-jag-kommit-på"
---

# nu har jag kommit på ...

## #1 — prls, 2001-07-18T14:12Z

Hej,

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

ChDir "C:\\vätskebalans"
ActiveWorkbook.SaveAs Filename:="C:\\vätskebalans\\" & CStr(rnCell.Value) & ".xls"
Application.Quit

End Sub
Detta funkar för mig på min dator!
Är det bara tur eller rätt kod?

Permalänk: https://www.webforum.nu/p/23416

## #2 — prls, 2001-07-18T17:14Z

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:
1) om inte samtliga villkor är uppfyllda så vill jag "Exit Sub"
2) 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.

Permalänk: https://www.webforum.nu/p/362581

## #3 — prls, 2001-07-18T17:52Z

Kanske lättare att förstå om man har tillgång till filen.
http://lelkes.webhostme.com/testa_bal_hemma.zip Ladda ner filen

Permalänk: https://www.webforum.nu/p/362582

## #4 — prls, 2001-07-18T17:58Z

[Ladda ner filen](http://lelkes.webhostme.com/testa_bal_hemma.zip)

Permalänk: https://www.webforum.nu/p/362583

## #5 — prls, 2001-07-18T19:33Z

jätte läckert tack! - har bara klistrat in, men ngra "snabba" frågor:

- Du gillar använda prefixet "rn" som tex rnDatum eller rnCell. Vad betyder "rn"? hittar inte den förkortningen i "hjälpen"
- Vad betyder "s", tex i sMedd?
- Vad betyder "vb",tex i vbCritical
- Vad betyder "Cstr()". Antar att det har något med sträng att göra?

Permalänk: https://www.webforum.nu/p/362584

## #6 — prls, 2001-07-18T19:40Z

samt:
\- "cellC" (utan mellanslag) menar Du med det alla celler i kolumn C?

Permalänk: https://www.webforum.nu/p/362585

## #7 — prls, 2001-07-18T21:40Z

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?

Permalänk: https://www.webforum.nu/p/362586

## #8 — prls, 2001-07-19T00:09Z

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: 

1. ”End” i rad 4 tillhör det MsgBoxen?
2. 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?
3. 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

Permalänk: https://www.webforum.nu/p/362587

## #9 — prls, 2001-07-19T11:21Z

Hej Dennis,

> Se där - Nu har har du kanske lärt dig mer men som sagt: Undvik de två sista timmarna framför skärmen ;-)

 …inte kanske, UTAN jag lär mig MASSOR varje gång Du svarar!!

Jag håller hellt med dig om nanosekunder, men det är ju så spännande att lära sig nåt nytt, såsom VBA.

Det där med att översätta till svenska har jag kommit på själv med, och faktiskt kommit fram till samma översättning.

Jag skall ivrigt fortsätta att studera VBA när boken kommit. Har redan  idée om förbättring – genom att använda listbox…enl exemplet på din sida

Ajdå, nu har jag fått problem med instalationen - se nästa fråga\*ler\*

Permalänk: https://www.webforum.nu/p/362588

## #10 — prls, 2001-07-19T19:50Z

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

Permalänk: https://www.webforum.nu/p/362589

## #11 — prls, 2001-07-19T20:27Z

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=??

Permalänk: https://www.webforum.nu/p/362590

---

Tråden på webben: https://www.webforum.nu/amne/kontorsprogram/23416-nu-har-jag-kommit-på
