Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

VBA Range-Problem

    Betrifft: VBA Range-Problem von: Alex
    Geschrieben am: 27.08.2003 11:27:15

    Hi VBA Experten,

    hab ein großes Problem. Ich habe etwas mit dem Makrorecorder aufgenommen (alles unter Case1), der Code funktioniert auch gut. Allerdings erhalte ich nach einfügen des Codes unter Case 1 nen Laufzeitfehler 1004, selectmethode des Range Objects konnte nicht ausgeführt werden...und ich hab absolut keine Ahnung, wieso es jetzt nicht mehr funktioniert.

    Vielen Dank für die Hilfe
    Alex


    Hier der Code:

    Private Sub Worksheet_Change(ByVal Target As Range)
    
    If Target.Address = "$B$3" Then
        
           Select Case Target.Value
                        
                Case 1
                Sheets(Array("COPA T last year", "COPA TZ last year", "COPA T-TZ last year", _
                "COPA T this year", "COPA TZ this year", "COPA T-TZ this year")).Select
                Sheets("COPA T last year").Activate
    Fehler--->  Range("N36:N38").Select
                Selection.ClearContents
                Range("J36:J38").Select
                Selection.Copy
                Range("N36").Select
                ActiveSheet.Paste
                ActiveSheet.Paste
                Application.CutCopyMode = False
                Range("N39").Select
                
                Case 2
                 
                     
                Case 3
                            
                Case 4
                            
                Case 5
                            
                Case 6
                            
                Case 7
                            
                Case 8
                            
                Case 9
                            
                Case 10
                            
                Case 11
                            
                Case 12
                                        
                Case Else
                    
                ActiveSheet.Columns.Hidden = False
                MsgBox "Nur Werte 1 - 12 eingeben! (z.B. März = 3)"
                
            End Select
        
           End If
    
    End Sub
    

      


    Betrifft: AW: VBA Range-Problem von: Nike
    Geschrieben am: 27.08.2003 12:37:07

    Hi,
    es macht wohl wenig Sinn in einem Worksheet Change Ereignis
    Sheets wiederum zu selecten geschweige denn zu activate zu greifen...
    Ich würde es eher so machen:
    Sub test()
    Dim wks As Worksheet
    For Each wks In Sheets(Array("COPA T last year", "COPA TZ last year", "COPA T-TZ last year", _
                "COPA T this year", "COPA TZ this year", "COPA T-TZ this year"))
    With wks
        .Range("J36:J38").Copy .Range("N36:N38")
    End With
    Next
    End Sub
    


    Bye

    Nike


      


    Betrifft: danke von: Alex
    Geschrieben am: 27.08.2003 15:00:09

    danke