/ Forside/ Teknologi / Udvikling / VB Scripts / Spørgsmål
Login
Glemt dit kodeord?
Brugernavn 

Kodeord  


Reklame
Top 10 brugere
VB Scripts
#NavnPoint
technet 385
MouseKeep.. 300
Dark_Magi.. 250
AntonV 200
natmaden 200
EXTERMINA.. 200
Harlekin 200
gandalf 160
smorch 139
10  strarup 110
VB i Excel - slet af linier med bestemt~
Fra : Nalslev
Vist : 1019 gange
60 point
Dato : 28-05-03 10:55

Jeg har en excel fil, hvor jeg har en en masse liner, som i kolonne "U" har værdier. Jeg vil gerne ha' en macro der sletter alle linier med værdien "0".


 
 
Kommentar
Fra : elynge


Dato : 28-05-03 11:31

Hej

Hvorfor ikke formaterer cellerne på flg. måde

1) Vælg de celler der hvor 0 ikke skal vises (eller hele kolonne "U")
2) højre klik med musen og vælg 'formater celler ...'
3) under tal fanen i kategori vælg 'Brugerdefineret'
4) i type feltet skrives nedestådende

#.##0; -#.##0; "";

5) Tryk OK, herefter skulle 0'er ikke længere blive vist i de markerede celler

Mvh
ELM





Kommentar
Fra : elynge


Dato : 28-05-03 11:37

Hej igen

Du bruger sikkert ',' i stedet for '.' som decimaltalsseperator, så
benyt dette format i stedet for

#,##0; -#,##0; "";

mvh
ELM

Kommentar
Fra : elynge


Dato : 28-05-03 12:02

Hej igen

En macro der fjerner 0'er fra søjle U kunne se således ud:

----------------------------

Sub Fjern0er()
Dim r As Integer

For r = 1 To 300
If Cells(r, "U").Value = "0" Then
Cells(r, "U").Value = ""
End If
Next
End Sub

------------------------------------

Er der værdier ud over række 300 kan du rette tallet op!

Mvh
ELM


Kommentar
Fra : Nalslev


Dato : 28-05-03 12:08

Jeg skal bruge filen til upload i vore økonomisystem og det vil ikke acceptere "0" som værdi

Kommentar
Fra : elynge


Dato : 28-05-03 12:37



Sub Fjern0er()
Dim r As Integer
NB hvis du ikke skriver macroen 'på' arket
skal der referers hertil (f.eks. Ark1)

For r = 1 To 300
If Ark1.Cells(r, "U").Value = "0" Then
Ark1.Cells(r, "U").Value = ""
End If
Next
End Sub



Kommentar
Fra : elynge


Dato : 28-05-03 12:39

forsøger lige igen

NB hvis du ikke skriver macroen 'på' arket
skal der referers hertil (f.eks. Ark1)

------------------------
Sub Fjern0er()
Dim r As Integer

For r = 1 To 300
If Ark1.Cells(r, "U").Value = "0" Then
Ark1.Cells(r, "U").Value = ""
End If
Next
End Sub
--------------------

Kommentar
Fra : MouseKeeperX


Dato : 30-06-03 16:10

Hvis du mener at du vil slette rækkerne er det nemmeste nok

Sub fjer0er()
Dim i As Integer
For i = 1 To 500
If Cells(i, "U").Value = "0" Then Rows(i).Delete
Next
End Sub

mvh

Kommentar
Fra : Gigantor


Dato : 12-11-04 21:41

Denne funktion kan fjerne 0 i et vilkårligt ark og vilkårlig kolonne:
Public Function Del0s(ByVal objSheet As Excel.Worksheet, ByVal strRange As String)
Dim oCell As Excel.Range
Dim oSheet As Excel.Worksheet
Set oSheet = objSheet
Dim RowsDel As Integer
RowsDel = 0
For Each oCell In oSheet.Range(strRange)
If oCell.Value = 0 Then
oCell.Value = Empty
RowsDel = RowsDel + 1
End If
Next
Set oSheet = Nothing
Set oCell = Nothing
Del0s = RowsDel
End Function

Du bruger funktionen således:
Public Sub Delete()
Dim oSheet As Excel.Worksheet
Dim RowsAffected As Integer ' Kan bruges til at gøre status
Application.EnableEvents = False
For Each oSheet In Application.Worksheets
If oSheet.Name = "blablah" Then ' Det sheet du vil tjekke (brug SELECT CASE hvis det er mange)
RowsAffected = Del0s(oSheet, "U:U")
' Her kan du skrive RowsAffected et eller andet sted
End If
Next
End Sub

Så kan du jo vælge om du vil have en knap eller trykker alt+F8 eller køre det i forbindelse med din Upload kode..
Værs'go!
Venlig hilsen Jon

Du har følgende muligheder
Dette spørgsmål er blevet annulleret, det er derfor ikke muligt for at tilføje flere kommentarer.
Søg
Reklame
Statistik
Spørgsmål : 173634
Tips : 31664
Nyheder : 719565
Indlæg : 6383602
Brugere : 218258

Månedens bedste
Årets bedste
Sidste års bedste