Thema Datum  Von Nutzer Rating
Antwort
Rot LaufzeitFehler '9' bei Zeile kopieren
25.10.2020 12:39:06 Matthias
NotSolved
25.10.2020 12:50:57 ralf_b
NotSolved
25.10.2020 17:31:01 Gast68796
NotSolved
14.11.2020 15:54:53 Gast86382
NotSolved

Ansicht des Beitrags:
Von:
Matthias
Datum:
25.10.2020 12:39:06
Views:
100
Rating: Antwort:
  Ja
Thema:
LaufzeitFehler '9' bei Zeile kopieren

Hallo zusammen

Beim Zeilen prüfen resp. kopieren schmeist mein XLSM einen Laufzeitfehler '9'. Ich habe pro Kalenderwoche ein Arbeitsblatt (Spalten A-Q) mit folgendem Namen: z.B 20-11-W49 (Jahr 2-stellig/Monat/Kalenderwoche). (Scahde, dass ich keine Screenshots beifügen kann). In der Spalte A habe ich jeweils das entsprechende Datum, da ich pro Arbeitstag 8 Einträge habe.

Also etwa so:

    Arbeitsübersicht W45 2020
02.11.2020 Montag, 2. November 2020 HKr HKbe HKko Bel Kb Kf Tit mm Bag Stance HKP N&T FD PTex Konstruktion Spezial Form Keil Termin
02.11.2020 S x x x x x x x 0,4 2 550/590 SS Med/Med   white BX-Titanal-TC3W (bb22.1.16) Ptex     01.09.2020
02.11.2020 BX5 x x x x x x x 0,4 2 540 SS ADN/Med   Cvlies BX-Titanal-TC3W (bb22.1.16) Perlatec     02.09.2020
02.11.2020                                        
02.11.2020                                        
02.11.2020                                        
02.11.2020                                        
02.11.2020                                        
02.11.2020                                        
03.11.2020 Dienstag, 3. November 2020 HKr HKbe HKko Bel Kb Kf Tit mm Bag Stance HKP N&T FD PTex Konstruktion Spezial Form Keil Termin
03.11.2020 A x x x x x x x 0,4 2 550/590 ST Med/Comp   white BX/FX Carbon/Titanal Männer (bb6.3.12) Ptex, TC3     01.09.2020
03.11.2020 B x x x x x x x 0,4 1 540 SS Med/Med   Cvlies BX-Titanal-TC3W (bb22.1.16)       02.09.2020
03.11.2020 C x x x x x x x 0,4 2 470 +AF 01     black RG/RS Titanal (bb21.2.20)     280 02.09.2020

Ich möchte einen Zeile aus der Kalenderwoche 45 auf den 1. Dezember in der Kalenderwoche 49 verschieben. Anbei der Code für die Prüf-Funktion.

Besten Dank schon im Voraus Matthias

'======================================================================================================================
' Datum prüfen ob frei
'======================================================================================================================
Private Sub Pruefen_Click()
    Dim WorkYear    As String
    Dim SearchDate  As Date
    Dim WYk         As String
    Dim WMk         As String
    Dim KW          As Date
    Dim WsNew       As String
    Dim DIN_KW      As String
    Dim ZelleDate   As Range
    Dim rngDate     As Range
    Dim zNew        As Long
    Dim RowCount    As Integer
    Dim DayCount    As Integer
    
    WorkYear = Worksheets("Grunddaten").Range("C3")
    SearchDate = g_datCalendarDate
    
    ' SuchDatum prüfen und Name des Blattes bestimmen
    'If Year(SearchDate) <> WorkYear Then
    '    Call MsgBox("Ungültiges Jahr!")
    '    Exit Sub
    'End If
    
    ' Name des WorkSheets bestimmen
    KW = 4 + SearchDate - Weekday(SearchDate, 2)
    DIN_KW = (KW - DateSerial(Year(KW), 1, -6)) \ 7
    WYk = Right(SearchDate, 2)
    WMk = Month(SearchDate)
'    WsNew = WYk & "-" & WMk & "-" & "W" & DIN_KW (Neu wegen Sortiereung der Worksheets
    Select Case WMk
    Case 1, 2, 3, 4, 5, 6, 7, 8, 9
        WMk = "0" & WMk
    End Select
    Select Case DIN_KW
    Case 1, 2, 3, 4, 5, 6, 7, 8, 9
        DIN_KW = "0" & DIN_KW
    End Select
    
    WsNew = WYk & "-" & WMk & "-" & "W" & DIN_KW
    
    Set rngDate = Worksheets(WsNew).Range("A3:A50")
    Set ZelleDate = Suchen(Me.g_datCalendarDate, rngDate)
    
    If Not ZelleDate Is Nothing Then
        zNew = ZelleDate.Row
        RowCount = 0
        With Worksheets(WsNew)
            For DayCount = 1 To 9
                If WorksheetFunction.CountBlank(.Range(.Cells(zNew, 2), .Cells(zNew, 21))) = 20 Then
                    RowCount = RowCount + 1
                End If
                zNew = zNew + 1
            Next DayCount
            If RowCount <> 0 Then
                Call MsgBox("Dieser Tag hat noch '" & RowCount & "' Einträge zur Verfügung!")
            Else
                Call MsgBox("Verschiebungsdatum ist schon voll belegt!")
            End If
        End With
    Else
        Call MsgBox("Verschiebungsdatum '" & g_datCalendarDate & "' nicht gefunden!")
    End If
    
End Sub

 

 


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst genau und ausführlich
  • 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
  • Bitte markieren Sie Ihre Anfrage als erledigt wenn Ihnen geholfen wurde
Thema: Name: Email:

 
 

Thema Datum  Von Nutzer Rating
Antwort
Rot LaufzeitFehler '9' bei Zeile kopieren
25.10.2020 12:39:06 Matthias
NotSolved
25.10.2020 12:50:57 ralf_b
NotSolved
25.10.2020 17:31:01 Gast68796
NotSolved
14.11.2020 15:54:53 Gast86382
NotSolved