Live-Forum - Die aktuellen Beiträge
Datum
Titel
18.04.2024 18:04:29
18.04.2024 16:33:24
Anzeige
Archiv - Navigation
1556to1560
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA - Array ?

VBA - Array ?
05.05.2017 22:26:51
WalterK
Hallo,
der Code funktioniert, es werden damit in der Tabelle die Spalten "Anton", "Berta" und "Dora" behalten, bei allen anderen Spalten werden die Daten gelöscht.
Kann man das auch einfacher schreiben, z.B. ohne das ich 20 mal Or schreiben muss.
Besten Dank für die Hilfe, Servus Walter
Option Explicit
Sub SpaltenBehaltenLöschen()
Dim wksHier As Worksheet
Dim LSp As Long
Dim i As Long
Set wksHier = Worksheets("HierDieDatenHineinKopieren")
LSp = wksHier.Cells(1, Columns.Count).End(xlToLeft).Column
For i = 1 To LSp
If wksHier.Cells(1, i) = "Anton" Or wksHier.Cells(1, i) = "Berta" Or wksHier.Cells(1, i) _
= "Dora" Then
Else
wksHier.Columns(i).ClearContents
End If
Next i
Set wksHier = Nothing
End Sub

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA - Array ?
05.05.2017 22:53:38
ChrisL
Hi Walter
Weniger Schreibarbeit ist Select
Select wksHier.Cells(1, i)
Case "Albert", "Hubert", "Herbert"
' mach dies
Case Else
' mach das
End Select
Array geht auch, wobei man 20 Werte vielleicht besser in einer Tabelle verwaltet. Vom Prinzip her aber gleich.

ar = Array("x","y","z")

oder
Set rng = Worksheets("Hilfstabelle").Range("A1:A20")
ZÄHLENWENN resp. WorksheetFunction.CountIf oder VERGLEICH resp. Application.Match
z.B.
Dim rng As Range, i As Long
Set rng = Worksheets("Hilfstabelle").Range("A1:A20")
If WorksheetFunction.CountIf(rng, wksHier.Cells(1, i)) = 0 Then
'das
Else
'dies
End If
cu
Chris
Anzeige
AW: VBA - Array ?
05.05.2017 22:54:44
ChrisL

Select Case wksHier.Cells(1, i)
Case "Albert", "Hubert", "Herbert"
' mach dies
Case Else
' mach das
End Select

Besten Dank Chris. Servus, Walter
05.05.2017 23:13:17
WalterK

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige