Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1108to1112
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

Array mit VBA ein-auslesen

Array mit VBA ein-auslesen
Bernd
Hallo,
ich hätte gerne zu meinem Problem eine VBA-Lösung mit Array
https://www.herber.de/bbs/user/65233.xls
z.B.: 3 Spalten, alle befüllt, Zeilenanzahl unbestimmt
übertrage in Tabelle2 z.B. alle Tischler ( alle Spalten )
sicher wäre dieses Problem auch anders zu lösen, zu meinem Verständnis
hätte ich aber gerne eine Array-Lösung
Bitte um Hilfe
Gruß
Bernd

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Array mit VBA ein-auslesen
21.10.2009 12:43:51
Tino
Hallo,
hier ein Beispiel.
Sub Beispiel()
Dim meAr, NeuAr()
Dim A As Long, AA As Long


With Tabelle1
 meAr = .Range("A2", .Cells(.Rows.Count, 3).End(xlUp))
End With

'Array groß genug erstellen 
Redim Preserve NeuAr(1 To 3, 1 To Ubound(meAr))
'Daten sammeln 
For A = 1 To Ubound(meAr)
 If meAr(A, 3) = "Tischler" Then
  AA = AA + 1
  NeuAr(1, AA) = meAr(A, 1)
  NeuAr(2, AA) = meAr(A, 2)
  NeuAr(3, AA) = meAr(A, 3)
 End If
Next A
'auf nötige Größe reduzieren 
Redim Preserve NeuAr(1 To 3, 1 To AA)

With Tabelle2
    'Platz schaffen für neue Daten, alte entfernen 
    A = .Cells(Rows.Count, 1).End(xlUp).Row
    If A > 1 Then
     .Range("A2").Resize(A - 1, 3).Value = ""
    End If
    'Daten schreiben 
    .Range("A2").Resize(AA, 3) = Application.Transpose(NeuAr)
End With

End Sub
Gruß Tino
Anzeige
AW: Array mit VBA ein-auslesen
21.10.2009 12:48:21
Bernd
Hallo Tino,
bedanke mich für die schnelle Lösung ;-)
passt Super, jetzt werde ich studieren - warum -
Vielen Dank und
Gruß
Bernd
AW: Array -Nachfrage...
21.10.2009 13:14:05
Bernd
Hallo,
wie könnte das aussehen, wenn auch die Spaltenanzahl variiert ?
Gruß
Bernd
AW: Array -Nachfrage...
21.10.2009 13:45:44
Tino
Hallo,
z. Bsp. so, Spalten fangen aber immer in A an.
Sub Beispiel()
Dim meAr, NeuAr()
Dim A As Long, AA As Long, AAA As Long
Dim LCol As Long

With Tabelle1
 meAr = .Range("A2", .Cells(.Rows.Count, .Cells(1, Columns.Count).End(xlToLeft).Column).End(xlUp))
End With

'Array groß genug erstellen 
LCol = Ubound(meAr, 2)
Redim Preserve NeuAr(1 To LCol, 1 To Ubound(meAr))
'Daten sammeln 
For A = 1 To Ubound(meAr)
 If meAr(A, 3) = "Tischler" Then
    AA = AA + 1
    For AAA = 1 To LCol
        NeuAr(AAA, AA) = meAr(A, AAA)
    Next AAA
 End If
Next A
'auf nötige Größe reduzieren 
Redim Preserve NeuAr(1 To LCol, 1 To AA)

With Tabelle2
    'Platz schaffen für neue Daten, alte entfernen 
    A = .Cells(Rows.Count, 1).End(xlUp).Row
    If A > 1 Then
     .Range("A2").Resize(A - 1, LCol).Value = ""
    End If
    'Daten schreiben 
    .Range("A2").Resize(AA, LCol) = Application.Transpose(NeuAr)
End With

End Sub
Gruß Tino
Anzeige
Danke Tino-perfekt ;-) owT
21.10.2009 17:34:29
Bernd
bei Columns.Count fehlt noch ein Punkt.
21.10.2009 17:49:38
Tino
Hallo,
mach bei Columns.Count noch einen Punkt davor.
meAr = .Range("A2", .Cells(.Rows.Count, .Cells(1, .Columns.Count).End(xlToLeft).Column).End(xlUp))
Gruß Tino

18 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige