Avatar billede gonzoo Nybegynder
15. juni 2000 - 09:12 Der er 8 kommentarer og
1 løsning

HVORDAN BESKRIVES EN TOM CELLE

NÅR JEG HENVISER TIL EN TOM CELLE I EXCE HVORDAN BESKRIVES DET ? 
HVIS JEG SKRIVER SÅDAN  ""  BLIVER DET SÅ BETRAGTET SOM SAND (TRUE)ELLER SKAL DET GØRES PÅ EN ANDEN MÅDE
EKSEMBEL:

If ("AE7") = "" Then
End If
  Range("AE7").Select
Avatar billede meyer Nybegynder
15. juni 2000 - 09:17 #1
Prøv med NULL
Avatar billede jper Nybegynder
15. juni 2000 - 09:59 #2
Du skal have din select statement ind i if sætningen hvis det skal virke rigtigt, det her virker

If Range("AE7").Value = "" Then
  Range("AE7").Select
End If
Avatar billede gonzoo Nybegynder
15. juni 2000 - 14:52 #3
Private Sub CommandButton1_Click()
  Range("L7:S14").Select
        Selection.Copy
If Range("AE7").Value = "" Then
  Range("AE7").Select
End If
If Range("AE16").Value = "" Then
  Range("AE16").Select
End If
If Range("AE25").Value = "" Then
  Range("AE25").Select
End If
If Range("AE34").Value = "" Then
  Range("AE34").Select
End If
  Selection.PasteSpecial

HEJ JPER
HER ER HELE KODEN MED DIT FORSLAG NU VIRKEND DOG MED DEN UNDTAGELSE AT DEN KØRER DEN SIDSTE IF FØRST OG JEG FIK ET NYT PROBLEM ,NÅR ALLE IFFER ER UDFØRT SLETTER DEN DE OPSAMLEDE CELLER KAN MAN INDSÆTTE EN MGSBOX DER FORTÆLLER NÅR ALLE IFFER ER UDFØRT SÅ MAN IKKE KØRE SYNTAXEN TIL ENDEMED SLETNINGEN TIL FØLGE
Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False
  Range("C7,C10,C12,C13").Select
  Range("C13").Activate
        Selection.ClearContents
  Range("C16").Select
End Sub
Avatar billede jper Nybegynder
15. juni 2000 - 15:20 #4
Jeg forstår ikke at den sidste If kører først det lyder underligt, og jeg forstår ikke helt det der med at syntaxen ikke skal køre til ende, du kan jo fjerne koden efter den sidste end if så stopper den jo med at kører.

Selection.PasteSpecial paster alt fra clipboard ind i den valgte celle og frem efter, hvis AE34 er tom så er det den aktive celle når PasteSpecial kører og derfor bliver alt puttet ind ved denne celle det kan være derfor det ser ud som om at den sidste if sætning kører først.

For at få vist en messagebox er syntaxen: MsgBox "noget tekst" som skal sættes ind efter den sidste end if. Men resten af koden kører videre når du trykker ok derfor skal du teste på svaret fra messageboxen:

dim svar as Integer

svar = MsgBox "Fortsæt?", VbOkCancel
if svar = VbOk then
'Kør resten af koden
else
Exit Sub 'Stop koden
End If

Så løsningen er nok at sætte PasteSpecial ind efter Range("C7,C10,C12,C13").Select
Avatar billede jper Nybegynder
15. juni 2000 - 15:21 #5
Ups koden med messageboxen skal se sådan ud (jeg havde glemt et par parenteser):
dim svar as Integer

svar = MsgBox("Fortsæt?", VbOkCancel)
if svar = VbOk then
'Kør resten af koden
else
Exit Sub 'Stop koden
End If

Avatar billede gonzoo Nybegynder
15. juni 2000 - 15:30 #6
JPER
NÅR JEG STARTER ER ALLE CELLER TOMME JEG PRØVEDE AT SÆTTE ET BOGSTAV IND I DEN SIDSTE CELLE OG KODEN INDSATTE I DEN NÆST SIDST ALSÅ ("AE25")JEG VIL MENE NÅR ("AE7") ER TOM SKULLE DEN SÅ IKKE STARTE MED AT UDFØRE DET FØRST IF OG INDSÆTTE I ("AE7") DET ANDET DU SKRIVER HAR JEG IKKE PRØVET ENDNU
Avatar billede jper Nybegynder
15. juni 2000 - 15:39 #7
Åhhh På den måde! Nej sådan fungere det ikke, det du vil er altså (som jeg forstår det) at hvis AE7 er tom skal der pastes ind i den og hvis den ikke er det så skal det være i den næste celle altså AE16 osv. osv. Så skal det være noget i retning af det her:

Private Sub CommandButton1_Click()
  Range("L7:S14").Select
        Selection.Copy
If Range("AE7").Value = "" Then
  Range("AE7").Select
ElseIf Range("AE16").Value = "" Then
  Range("AE16").Select
ElseIf Range("AE25").Value = "" Then
  Range("AE25").Select
Else Range("AE34").Value = "" Then
  Range("AE34").Select
End If
Selection.PasteSpecial
Avatar billede gonzoo Nybegynder
15. juni 2000 - 16:05 #8
JAAAAAAHHH NU VIRKER DET JEG HAR TASTET EN MSGBOX IND ET FORKERT STED TROR JEG FOR JEG SKAL SVARE HVER GANG OG IKKE NÅR ARKET ER UDFYLDT DVS DEN SIDST CELLE  DETTE ER KUN EN DEL AF CELLERNE DER ER I SYNTAXEN DET ER 5 HELE ARK SOM SKAL UDFYLDES SKL DER EN IF IND FØR MSGBOXEN? DET SVAR DU HAR SENDT ER MAGEN TIL EN TIDLIGERE UDGAVE SOM JEG HAR PRØVET JEG VISTE BARE IKKE DER SKAL STÅ VALUE FØR = SÅ HAR JEG OGSÅ LÆRT NOGET I DAG JEG HAR BØVLET MED DEN KODE LÆNGE SÅ JEG ER MEGET GLAD FOR  DU KUNNE HJÆLPE NU SER DET SÅDAN UD
Private Sub CommandButton1_Click()
  Range("L7:S14").Select
        Selection.Copy
  Range("L7:S14").Select
        Selection.Copy
If Range("AE7").Value = "" Then
  Range("AE7").Select
ElseIf Range("AE16").Value = "" Then
  Range("AE16").Select
ElseIf Range("AE25").Value = "" Then
  Range("AE25").Select
ElseIf Range("AE34").Value = "" Then
  Range("AE34").Select
End If
msg = msg & "ARKET ER FULD ?"
svar = MsgBox(msg, vbOKCancel, " PAS PÅ ")
If svar = vbOK Then
End If
If svar = vbCancel Then
Exit Sub
End If
  Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False
  Range("C7,C10,C12,C13").Select
  Range("C13").Activate
        Selection.ClearContents
  Range("C16").Select
Avatar billede gonzoo Nybegynder
15. juni 2000 - 16:15 #9
DET ER VEL IKKE EN VBOK/CANCELBOX JEG SKAL BRUGE ,DER ER DA BARE EN MSGBOX DER FORTÆLLER AT ARKET ER FYLDT OG VED OK SKAL JEG EXIT SUB KAN MAN DET ?
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester