Thema Datum  Von Nutzer Rating
Antwort
26.07.2012 14:31:49 c4b4l
NotSolved
Blau Aus 1 Array mach 2? Zu lange Zeichenfolge
26.07.2012 20:51:29 Till
NotSolved
27.07.2012 11:32:12 c4b4l
NotSolved
27.07.2012 11:37:36 c4b4l
NotSolved
27.07.2012 18:15:59 Till
NotSolved

Ansicht des Beitrags:
Von:
Till
Datum:
26.07.2012 20:51:29
Views:
473
Rating: Antwort:
  Ja
Thema:
Aus 1 Array mach 2? Zu lange Zeichenfolge

Hi,

ein Array kann durch aus mehr als 256 Zeichen fassen. Im Prinzip sogar bis zu 2 Milliarden, da würdest du aber schnell an die Kapazitätsgrenze des zur Verfügung stehenden Speichers kommen und eine "Out of memory" Meldung erhalten (falls Excel das überhaupt mitmachen würde).

Bei deinen Codeauszug sind ein paar kritische Fehler enthalten:

Warum benutzt du die Transpose Funktion? Die vertausch lediglich die Dimensionen eines Arrays (Zeilen > Spalten). Dein Array hat zwei Dimensionen (nicht eine), also arrSource(lastRow,1), durch die Umwandlung mit Transpose wird daraus arrSource(1,lastRow). Wenn du eine 2 eingibst erscheint also die Meldung "Index außerhalb des gültigen Bereiches", welche bei dir allerdings schon erscheint, weil du ein zweidimensionales Array mit der Angabe von nur einer Dimension versuchst aufzurufen.

Versuch stattdessen mal Folgendes:
 

Dim arrSource As Variant
Dim arrTarget As Variant
Dim ioLastRow As Long
Dim iCnt1 As Integer, iCnt2 As Integer
    
    arrSource = Range(Cells(1, 13), Cells(Rows.Count, 13).End(xlUp)).Value
    loLastRow = UBound(arrSource)
    ReDim arrTarget(1 To loLastRow, 1)
    For iCnt1 = 1 To loLastRow
        If Len(arrSource(iCnt1, 1)) > 0 Then
            iCnt2 = iCnt2 + 1
            arrTarget(iCnt2, 1) = arrSource(iCnt1, 1)
        End If
    Next
     
    Workbooks.Add
    Range(Cells(1, 1), Cells(ioLastRow, 1)).Resize(iCnt2, 1) = arrTarget

 

Gruß

Till


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
26.07.2012 14:31:49 c4b4l
NotSolved
Blau Aus 1 Array mach 2? Zu lange Zeichenfolge
26.07.2012 20:51:29 Till
NotSolved
27.07.2012 11:32:12 c4b4l
NotSolved
27.07.2012 11:37:36 c4b4l
NotSolved
27.07.2012 18:15:59 Till
NotSolved