VB Variabelen Übergabe in IF schleife wird nicht übernommen

  • Excel

Es gibt 1 Antwort in diesem Thema. Der letzte Beitrag () ist von Marcus Gräfe.

    VB Variabelen Übergabe in IF schleife wird nicht übernommen

    Hallo Mitteinander,

    Leider habe ich ein recht dringliches Problem.

    In meinen Projekt geht es darum verschiedene Daten aus Exelfiles zu ziehen doch leider Fuktioniert es nicht so wie es solte. Der Quellcode scheint mir in Ordnung zu sein da es keine Debuging fehler etc gibt.

    Das Problem an sich ist Ich arbeite mit einer Variabel die immer um 1 Hochgezählt werden soll wenn ein Passende ID aus dem Haupttabellenblatt, in einen Neben Tabellenblatt gefunden.

    Aus diesen Verschiedenen Tabellenblättern soll dann 1 Übersichtliches Tabellenblatt genneriert werden wo alle Wichtigen Daten Beinhalten

    In diesem Falle sollte das folgent aussehen:

    ISSUE ID IRA ID
    ---------------------------------------------------------
    120 |
    | 1
    | 2
    ----------------------------------------------------------
    121 |

    Nun ist das Problem das er in diesem Fall nicht die 2 IRA ID anzeigt. Da er die Variable "AutoIDwer" nicht hoch gezält wird.

    Nun ist die Frage warum nicht -.- vllt habt ihr Ideen.... hier ist noch der Quellcode

    Danke

    Visual Basic-Quellcode

    1. Dim AutoIDwer As Integer 'AutoIDwerwer Fortlaufend
    2. Sub EinfügenderWerte()
    3. Dim SpaceID As Integer 'Stellt fest wieviele IRA`s und Action ID`s es gibt (AutoIDwer+SpaceID)
    4. Dim AnzahlZeilen As Integer 'Stellt fest wieviele IssuesID`s es gibt
    5. Dim Check As Integer
    6. 'Do while zähler
    7. Application.ScreenUpdating = False
    8. Check = 1 'Check auf 0
    9. AnzahlZeilen = 0 'auf 0
    10. AutoIDwer = 2 'damit er anfängt bei Spalte 2
    11. Sheets("Issues").Select 'Wechseln in Worksheet Issues
    12. AnzahlZeilen = Range("A65536").End(xlUp).Row 'Ermitteln wieviel IssuesID`s es gibt
    13. Do
    14. Dim IssueID 'As Integer 'Ist die ID der Issue
    15. Dim Project
    16. Dim Priority
    17. '-------------------------------------------------------------
    18. AnzahlZeilen = AnzahlZeilen - 1
    19. '--------------------------------------------------------------
    20. 'Copy Vorgang IssueID
    21. Sheets("Issues").Select
    22. Check = Check + 1 'Check Hochzählen lassen
    23. Range("A" + CStr(Check)).Select 'Erster Issues ID Copy
    24. Selection.copy
    25. IssueID = Range("A" + CStr(Check)).Value 'Zeilenwert auslessen
    26. 'Einfüg Vorgang IssueID
    27. Sheets("Datasheet").Select
    28. Range("A" + CStr(AutoIDwer)).Select
    29. ActiveSheet.Paste
    30. 'Copy ProjectName
    31. Sheets("Issues").Select
    32. Range("D" + CStr(Check)).Select 'Project Copy
    33. Project = Selection.copy
    34. 'Einfüg Vorgang ProjectName
    35. Sheets("Datasheet").Select
    36. Range("C" + CStr(AutoIDwer)).Select
    37. ActiveSheet.Paste
    38. 'Copy Priority
    39. Sheets("Issues").Select
    40. Range("C" + CStr(Check)).Select 'Priority Copy
    41. Priority = Selection.copy
    42. 'Einfüg Vorgang ProjectName
    43. Sheets("Datasheet").Select
    44. Range("B" + CStr(AutoIDwer)).Select
    45. ActiveSheet.Paste
    46. AutoIDwer = AutoIDwer + 1
    47. Dim m As Integer 'Zwischenspeicher
    48. Sheets("IRAs").Select
    49. m = Range("A65536").End(xlUp).Row 'Anzahl der Zeilen Ermitteln
    50. '----------------------------------------------------------------------------------------------------------
    51. Do
    52. Dim verify 'As Integer 'ID überprüfung
    53. Dim ProcessingStatus 'Speicher Variable zum Copyren des Spalten Inhaltes
    54. Dim IRAResp
    55. Dim IRARespDep
    56. Dim IRAID
    57. verify = 0
    58. verify = Range("A" + CStr(m)).Value
    59. If verify = IssueID Then
    60. 'Copy vorgang IRAID
    61. Sheets("IRAs").Select
    62. Range("M" + CStr(m)).Select 'HIER HAB ICH AUS DEM M ein M-1 GEMACHT
    63. IRAID = Selection.copy
    64. 'Einfüg vorgang IRAID
    65. Sheets("Datasheet").Select
    66. Range("D" + CStr(AutoIDwer)).Select 'normal AutoIDwer
    67. ActiveSheet.Paste
    68. 'Copy vorgang ProcessingStatus
    69. Sheets("IRAs").Select
    70. Range("W" + CStr(m)).Select
    71. ProcessingStatus = Selection.copy
    72. 'Einfüg vorgang ProcessingStatus
    73. Sheets("Datasheet").Select
    74. Range("E" + CStr(AutoIDwer)).Select 'normal AutoIDwer
    75. ActiveSheet.Paste
    76. 'Copy vorgang IRAResp
    77. Sheets("IRAs").Select
    78. Range("S" + CStr(m)).Select
    79. IRAResp = Selection.copy
    80. 'Einfüg vorgang IRAResp
    81. Sheets("Datasheet").Select
    82. Range("F" + CStr(AutoIDwer)).Select 'normal AutoIDwer
    83. ActiveSheet.Paste
    84. 'Copy vorgang IRA-Resp. Dep.
    85. Sheets("IRAs").Select
    86. Range("T" + CStr(m)).Select
    87. IRARespDep = Selection.copy
    88. 'Einfüg vorgang IRA-Resp. Dep.
    89. Sheets("Datasheet").Select
    90. Range("G" + CStr(AutoIDwer)).Select 'normal AutoIDwer
    91. ActiveSheet.Paste
    92. AutoIDwer = AutoIDwer + 1 'FUNKTION NICHT GEGEBEN DA ER DEN WERT NICHT ERKENNT AutoIDwer um 1 erhöhen da 1 IRA Gefunden wurde
    93. End If
    94. m = m - 1 'Nächste Zeile Bitte
    95. Loop While Not m = 1 'bis auf die Zelle1 im IRA`s auswerten
    96. '---------------------------------------------------------------------------------------
    97. Loop While Not AnzahlZeilen = 1 ' WIEDER AUF 1 SETZEN !!!!
    98. End Sub


    *Topic verschoben*

    Dieser Beitrag wurde bereits 8 mal editiert, zuletzt von „Marcus Gräfe“ ()

    Ist es denn richtig, dass AutoIDwer in Zeile 65 bei JEDEM Prozeduraufruf hochgezählt wird (mind. 1x)? Denn das ist der Fall.

    Dir geht es wohl um Zeile 123, die nicht ausgeführt wird. Setz doch mal in Zeile 81 einen Haltepunkt und schaue nach, ob verify wirklich = IssueID ist und wenn nicht, wie der Inhalt lautet.
    Besucht auch mein anderes Forum:
    Das Amateurfilm-Forum