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:
1244
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:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
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