Thema Datum  Von Nutzer Rating
Antwort
13.10.2015 19:34:34 Martin
NotSolved
Blau Eigenen Typ an Function übergeben
14.10.2015 11:32:19 BigBen
NotSolved

Ansicht des Beitrags:
Von:
BigBen
Datum:
14.10.2015 11:32:19
Views:
1003
Rating: Antwort:
  Ja
Thema:
Eigenen Typ an Function übergeben

Hallo,

in VBA sollte die explizite Variablendeklaration aktiviert sein. Auf diese Weise kann man besser auf etwaige Fehler kommen. Habe einfach nur die fehlenden Dim-Anweisungen ergänzt.

Beim Befehl "dumpPivot (xx)" hat der Kompiler einen Fehler gemeldet. Erst durch entfernen der Klammern lief der Kompiler fehlerfrei durch:

Option Explicit

Public Type Pivot_t
   column As Integer
   row As Integer
   value As Integer
End Type
 
Public Function rangeToArray(aRangeAddress As String) As Variant
    Dim vRange As Range
    Dim i As Integer, j As Integer
    
    Set vRange = Range(aRangeAddress)
     
    Dim retArray
    ReDim retArray(1 To vRange.Rows.Count, 1 To vRange.Columns.Count)
     
    For i = 1 To vRange.Rows.Count
        For j = 1 To vRange.Columns.Count
            retArray(i, j) = vRange.Cells(i, j).value
        Next j
    Next i
     
    rangeToArray = retArray
End Function
 
Public Function getPivot() As Pivot_t
    getPivot.column = -1
    getPivot.row = -1
    getPivot.value = -1
End Function
 
Public Sub dumpPivot(aPivot As Pivot_t)
    MsgBox ("Geht")
    'Some output/debug messages
End Sub
 
Public Function Copy_YellowToRed()
    Dim a As Range, b As Range
    Dim xx As Pivot_t
    Dim ret_array As Variant
    Set a = Range("D5:F7")
     
    ret_array = rangeToArray(a.Address)
     
    Set b = Range("L19:K40")
     
    b.value = ret_array
 
    xx = getPivot()
 
     
 
    dumpPivot xx  'doesnt work :-(
 
    MsgBox (xx.value)
     
End Function

VG, BigBen


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
13.10.2015 19:34:34 Martin
NotSolved
Blau Eigenen Typ an Function übergeben
14.10.2015 11:32:19 BigBen
NotSolved