Forfatter |
Emne Søg Emne funktioner
|
icet
Bronze bruger
Medlem: 08.Nov.2013
Status: Offline
Point: 95
|
Emne: kontroler for x hvis der ikke er x så slet Sendt: 18.Nov.2018 kl. 12:41 |
roder med at man klikker på knap1 og så skal koden kigge på x'er og slette der hvor der ikke er x'er og til sidst x'er
der kan være x i den første eller de 2 første eller kun i den 3
|
 |
|
|
 |
Ib Hansen
Guld bruger
Medlem: 15.Apr.2014
Land: Danmark
Status: Offline
Point: 652
|
Accepteret svar
Sendt: 19.Nov.2018 kl. 10:39 |
Hvorfor ikke bare køre hver sektion enkeltvis ?
Private Sub CommandButton1_Click()'-----------------------------------------------------------' ' Ark1 udskiftes med det rigtige ark-navn ' ' x'et skal være et lille bogstav, både i cellerne og koden ' '-----------------------------------------------------------'
If Sheets("Ark1").Range("B2").Value <> "x" Then '...........Hvis B2 er forskelligt fra "x" Sheets("Ark1").Range("B4:B8").Value = ClearContents '...Så slet B4 til B8 End If If Sheets("Ark1").Range("D2").Value <> "x" Then Sheets("Ark1").Range("D4:D8").Value = ClearContents End If If Sheets("Ark1").Range("F2").Value <> "x" Then Sheets("Ark1").Range("F4:F8").Value = ClearContents End If If Sheets("Ark1").Range("H2").Value <> "x" Then Sheets("Ark1").Range("H4:H8").Value = ClearContents End If Sheets("Ark1").Range("B2, D2, F2, H2").ClearContents '......Slet til sidst x'er i B2-D2-F2-H2 End Sub |
Bemærk at x'et skal være et lille bogstav i både kode og celle for at virke. Hvis det skal være ligegyldigt hvad der skrives i cellerne, skal x'et fjernes fra koden i alle linjerne. Herefter kan der skrives ABC eller hvad man lyster.
If Sheets("Ark1").Range("B2").Value <> "" Then '............Hvis B2 er forskelligt fra "" Sheets("Ark1").Range("B4:B8").Value = ClearContents '...Så slet B4 til B8 End If |
|
 |
icet
Bronze bruger
Medlem: 08.Nov.2013
Status: Offline
Point: 95
|
Sendt: 19.Nov.2018 kl. 09:33 |
koden indtil nu, men sgu ette med multi select så jeg evt. kan vælge 3 der ikke skal slettes :-/
Sub Knap1_Klik()
Select Case test
Case Range("B2").Value = x Range("D4:D8,F4:F8,H4:H8").Select Selection.ClearContents Range("B2:F2").Select Selection.ClearContents Range("B4").Select Case Range("D2").Value = x Range("B4:B8,F4:F8,H4:H8").Select Selection.ClearContents Range("B2:F2").Select Selection.ClearContents Range("B4").Select Case Range("F2").Value = x Range("B4:B8,D4:D8,H4:H8").Select Selection.ClearContents Range("B2:F2").Select Selection.ClearContents Range("H4").Select Case Range("H2").Value = x Range("B4:B8,D4:D8,F4:F8").Select Selection.ClearContents Range("B2:H2").Select Selection.ClearContents Range("B4").Select
End Select End Sub
|
 |
Ib Hansen
Guld bruger
Medlem: 15.Apr.2014
Land: Danmark
Status: Offline
Point: 652
|
Accepteret svar
Sendt: 19.Nov.2018 kl. 10:39 |
Hvorfor ikke bare køre hver sektion enkeltvis ?
Private Sub CommandButton1_Click()'-----------------------------------------------------------' ' Ark1 udskiftes med det rigtige ark-navn ' ' x'et skal være et lille bogstav, både i cellerne og koden ' '-----------------------------------------------------------'
If Sheets("Ark1").Range("B2").Value <> "x" Then '...........Hvis B2 er forskelligt fra "x" Sheets("Ark1").Range("B4:B8").Value = ClearContents '...Så slet B4 til B8 End If If Sheets("Ark1").Range("D2").Value <> "x" Then Sheets("Ark1").Range("D4:D8").Value = ClearContents End If If Sheets("Ark1").Range("F2").Value <> "x" Then Sheets("Ark1").Range("F4:F8").Value = ClearContents End If If Sheets("Ark1").Range("H2").Value <> "x" Then Sheets("Ark1").Range("H4:H8").Value = ClearContents End If Sheets("Ark1").Range("B2, D2, F2, H2").ClearContents '......Slet til sidst x'er i B2-D2-F2-H2 End Sub |
Bemærk at x'et skal være et lille bogstav i både kode og celle for at virke. Hvis det skal være ligegyldigt hvad der skrives i cellerne, skal x'et fjernes fra koden i alle linjerne. Herefter kan der skrives ABC eller hvad man lyster.
If Sheets("Ark1").Range("B2").Value <> "" Then '............Hvis B2 er forskelligt fra "" Sheets("Ark1").Range("B4:B8").Value = ClearContents '...Så slet B4 til B8 End If |
|
Excel 2010 Dk og 2019 Dk på samme computer. Bruger dog stadig mest 2010.. Men sådan er der jo så majet :o)
|
 |
icet
Bronze bruger
Medlem: 08.Nov.2013
Status: Offline
Point: 95
|
Sendt: 19.Nov.2018 kl. 10:47 |
at tænke sig at det var så simpelt hmmmmmmm men fedt og tak for hjælpen 
|
 |
icet
Bronze bruger
Medlem: 08.Nov.2013
Status: Offline
Point: 95
|
Sendt: 19.Nov.2018 kl. 10:48 |
|
 |
Ib Hansen
Guld bruger
Medlem: 15.Apr.2014
Land: Danmark
Status: Offline
Point: 652
|
Sendt: 19.Nov.2018 kl. 11:34 |
Velbekom 
Jeg er ikke "nørd" og det jeg lavede er helt simpel og grundlæggende kodning, der kan bruges over alt. I stedet for = Clearcontents kan man også skrive = 2 oppestrofer "" - der betyder "ingenting". Og så skal man kun defienere området, der skal slettes, som B4, hvis B4:B8 er flettede celler, da B4 dækker alle de flettede celler.
Sheets("Ark1").Range("B4").Value = ""
Grundlæggende tegn der kan bruges og som man lærte i matematik i skolen
= Lig med "" Lig med ingenting < Mindre end > Større end <= Mindre end og lig med >= Større end og lig med <> Forskellig fra
Hvis der bruges en IF sætning, skal den som minimum indeholde IF - THEN - END IF.
Med disse simple grundregler, kan man lave mange koder. Det er kun fantasien, der sætter grænser 
|
Excel 2010 Dk og 2019 Dk på samme computer. Bruger dog stadig mest 2010.. Men sådan er der jo så majet :o)
|
 |
icet
Bronze bruger
Medlem: 08.Nov.2013
Status: Offline
Point: 95
|
Sendt: 19.Nov.2018 kl. 13:10 |
kan sagtens se det nu  og mere simpelt end den "Case" ting jeg var ved at bygge op  og tak igen
|
 |
Ib Hansen
Guld bruger
Medlem: 15.Apr.2014
Land: Danmark
Status: Offline
Point: 652
|
Sendt: 19.Nov.2018 kl. 13:42 |
Nå undskyld.. Havde ikke set, det også var dig, der havde tastet CASE koden, men troede det var en andens forslag  Så havde jeg jo ikke behøves forklare en masse om grundlæggende VBA, da du helt sikkert er mere ekspert end mig
|
Excel 2010 Dk og 2019 Dk på samme computer. Bruger dog stadig mest 2010.. Men sådan er der jo så majet :o)
|
 |
icet
Bronze bruger
Medlem: 08.Nov.2013
Status: Offline
Point: 95
|
Sendt: 19.Nov.2018 kl. 13:43 |
det er fint nok jeg havde aligevel stirreret mig blind :-) jeg bruger det ikke så tit så man ruster lidt :-)
|
 |