Thema Datum  Von Nutzer Rating
Antwort
Rot Kleine Verständnisfrage
13.06.2014 11:14:52 Corina
NotSolved
13.06.2014 12:48:08 Gast28284
NotSolved
13.06.2014 15:03:22 Gast18733
*****
NotSolved
13.06.2014 15:47:18 Corina
NotSolved
13.06.2014 15:56:53 Gast18733
NotSolved

Ansicht des Beitrags:
Von:
Corina
Datum:
13.06.2014 11:14:52
Views:
2176
Rating: Antwort:
  Ja
Thema:
Kleine Verständnisfrage

Hallo allerseits,

bei dem Versuch folgenden Code zu Kommentieren und zu verstehen, ist mir aufgefallen, dass ich das leider nicht wirklich verstehe. Habe zunächst die VBA-Hilfe und Google ausgequetscht, komme aber nicht wirklich weiter. Könnte mir bitte jmd. dabei helfen? Schon mal vielen herzlichen Dank.

Insbesondere der fett markierte Teil bereitet mir Kopfzerbrechen (also eig. das Wesentliche :) )

Private Sub RemoveElementFromArray1D(Expression As Variant, _
    ByRef Array1D As Variant, Optional count As Long)
'remove filter elements from array

  Dim i As Long, n As Long
   
  If IsEmpty(Array1D) Or IsNull(Array1D) Then
    Array1D = Split(Empty) 'returns one dimensional array without elements (UBound < LBound)
     
  ElseIf Not IsArray(Array1D) Then
 'check whether expression is in array_
 'vba automatically transforms return value > 0 in true
    If InStr(1, Array1D, Expression, vbTextCompare) Then
      Array1D = Split(Empty) 'create array wihtout elements
    Else
      Array1D = Array(Array1D)
    End If
     
  Else
     
    i = LBound(Array1D)
     
    Do While i <= UBound(Array1D)
      If InStr(1, Array1D(i), Expression, vbTextCompare) Then
        If count <= 0 Or n < count _
          Then n = n + 1
      ElseIf n > 0 Then
        Array1D(i - n) = Array1D(i) 'shift element up
      End If
      i = i + 1 'next element
    Loop
     
    If n > 0 Then
      If LBound(Array1D) <= UBound(Array1D) - n Then
        ReDim Preserve Array1D(LBound(Array1D) To UBound(Array1D) - n)
      Else
        Array1D = Split(Empty)
      End If
    End If
     
  End If
   
End Sub

 


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
Rot Kleine Verständnisfrage
13.06.2014 11:14:52 Corina
NotSolved
13.06.2014 12:48:08 Gast28284
NotSolved
13.06.2014 15:03:22 Gast18733
*****
NotSolved
13.06.2014 15:47:18 Corina
NotSolved
13.06.2014 15:56:53 Gast18733
NotSolved