Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
616to620
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
616to620
616to620
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Array-Bestandteil per VBA rauslöschen

Array-Bestandteil per VBA rauslöschen
03.06.2005 17:00:45
Dieter
Hallo Excelianer(innen)
Problem:
ich möchte per VBA bestimmte Elemente aus einem Array rauslöschen.
Beispiel:
Array("KG_T1", "KG_T2", "KG_T3", "KG_T4", "KG_T5", "KG_T6")
aus diesem Array möchte ich irgendein Element rauslöschen.
(dies ist nur ein ganz kleines Beispiel, Arrays sind viel länger)
Wie könnte ich das lösen?
Vielen Dank für Eure Mühe
Gruesse Dieter

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Array-Bestandteil per VBA rauslöschen
03.06.2005 18:30:52
Ramses
Hallo
hier mal eine Variante
Option Explicit
Option Base 1

Sub demo_del_Array()
Dim myArr() As Variant
Dim tmparr() As Variant
Dim i As Integer, n As Integer
myArr = Array("KG_T1", "KG_T2", "KG_T3", "KG_T4", "KG_T5", "KG_T6")
'Ausdruck des arrays
For i = 1 To UBound(myArr())
Cells(i, 1) = myArr(i)
Next i
'Löschen des 2. Array-Eintrages
myArr(2) = ""
'Ausdruck des neuen Array
For i = 1 To UBound(myArr())
Cells(i, 2) = myArr(i)
Next i
ReDim tmparr(UBound(myArr))
'Füllen des temporären Array
n = 1
For i = 1 To UBound(myArr())
If myArr(i) <> "" Then
tmparr(n) = myArr(i)
n = n + 1
End If
Next i
ReDim myArr(UBound(tmparr))
'Zeigen des neuen "durchgehenden" Array
For i = 1 To UBound(tmparr())
myArr(i) = tmparr(i)
Next i
For i = 1 To UBound(myArr())
Cells(i, 3) = myArr(i)
Next i
End Sub

Gruss Rainer
Anzeige
AW: Array-Bestandteil per VBA rauslöschen
Dieter
Hi Ramses
vielen Dank für Deinen Beitrag
Grüsse von der Donau
Dieter
AW: Array-Bestandteil per VBA rauslöschen
04.06.2005 18:27:32
MichaV
Hi,
hier noch eine Variante ohne temporär- Array:


      
Option Explicit
Option Base 1
Private Sub CommandButton1_Click()
Dim myArr
Dim i
myArr = Array("KG_T1", "KG_T2", "KG_T3", "KG_T4", "KG_T5", "KG_T6")
'2. Eintrag löschen
For i = 2 To UBound(myArr) - 1
  myArr(i) = myArr(i + 1)
Next
ReDim Preserve myArr(UBound(myArr) - 1)
'Ausgabe
Range(Cells(1, 1), Cells(UBound(myArr), 1)) = Application.WorksheetFunction.Transpose(myArr)
End Sub 


Gruß- Micha
Anzeige
AW: Array-Bestandteil per VBA rauslöschen
06.06.2005 19:48:51
Dieter
Hi Micha
auch Dir vielen Dank
Gruss Dieter

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige
Archiv - Verwandte Themen
Forumthread
Beiträge