Microsoft Excel

Herbers Excel/VBA-Archiv

Aktivierung Arbeitsblatt | Herbers Excel-Forum


Betrifft: Aktivierung Arbeitsblatt von: drKnilch
Geschrieben am: 10.01.2012 10:08:34

Hallo,

ich hab ein Problem.
Ich will aus einem Blatt ("Burger_Alarme") Zellen kopieren, wenn etwas in der ersten Spalte, einer jeweiligen Zeile steht. Dieser Wert soll dann in ein anderes Blatt (SPS-Störung) eingefügt werden. Das funktioniert auch soweit, zumindest das Copy/Paste. Allerdings wird im 2.Blatt überprüft, ob ein Wert in der ersten Spalte steht und nicht im 1.Blatt. Ich weiß einfach nicht warum. Hab schon auf verschiedenen Methoden versucht, das 1.Blatt anzusprechen. Bisher aber immer gescheitert...

  • Private Sub Sortierung()
    
    Dim X, i As Double
    Dim Zeile, ZeileSPS As Double
    Zeile = 4
    ZeileSPS = 3
    
    
    Do While Zeile < 30
    With Worksheets("Burger_Alarme")
    
            If Cells(Zeile, 1).Value = "" Then 
                   Zeile = Zeile + 1
                  
                  Else
                  Worksheets("Burger_Alarme").Select
                  Worksheets("Burger_Alarme").Cells(Zeile, 2).Resize(, 7).Select
                  Selection.Copy
                  Worksheets("SPS-Störung").Select
                  Worksheets("SPS-Störung").Range(Cells(ZeileSPS, 2), Cells(ZeileSPS, 7)).Select
                  ActiveSheet.Paste
                  Zeile = Zeile + 1
                  ZeileSPS = ZeileSPS + 1
            End If
            
    End With
    Loop
    
    
    
    End Sub


  • Wäre wirklich froh, wenn mir jemand weiterhelfen könnte!

      

    Betrifft: AW: Aktivierung Arbeitsblatt von: Josef Ehrensberger
    Geschrieben am: 10.01.2012 10:24:28


    Hallo ?,

    Private Sub Sortierung()
      Dim rng As Range, rngC As Range, rngU As Range
      
      On Error Resume Next
      Set rng = Worksheets("Burger_Alarme").Range("A4:A30").SpecialCells(xlCellTypeConstants)
      On Error GoTo 0
      
      If Not rng Is Nothing Then
        For Each rngC In rng
          If rngU Is Nothing Then
            Set rngU = rngC.Resize(1, 7)
          Else
            Set rngU = Union(rngU, rngC.Resize(1, 7))
          End If
        Next
        rngU.Copy Worksheets("SPS-Störung").Range("B3")
      End If
      
      Set rng = Nothing
      Set rngC = Nothing
      Set rngU = Nothing
    End Sub






    « Gruß Sepp »



      

    Betrifft: AW: Aktivierung Arbeitsblatt von: hary
    Geschrieben am: 10.01.2012 10:26:36

    Hallo
    hier mal ungetestet.

    Private Sub Sortierung()
    Dim X, i As Double 'wofuer??
    Dim Zeile, ZeileSPS As Long
    Zeile = 4
    ZeileSPS = 3
    Do While Zeile < 30
       With Worksheets("Burger_Alarme")
            If .Cells(Zeile, 1).Value = "" Then 'hier fehlte der Punkt vor Cells
                   Zeile = Zeile + 1
            Else
              .Cells(Zeile, 2).Resize(, 7).Select.Copy Worksheets("SPS-Störung").Range(Cells( _
    ZeileSPS, 2), Cells(ZeileSPS, 7))
              Zeile = Zeile + 1
              ZeileSPS = ZeileSPS + 1
            End If
         End With
    Loop
    End Sub
    

    gruss hary


      

    Betrifft: AW: Aktivierung Arbeitsblatt von: drKnilch
    Geschrieben am: 10.01.2012 10:36:04

    Das gibt´s doch nicht. Es war wirklich nur dieser kleine Punkt...

    Vielen Dank euch beiden, da wär ich nie darauf gekommen!

    Wieviel Zeit man mit so einer Suche verschwenden kann....


    Beiträge aus den Excel-Beispielen zum Thema "Aktivierung Arbeitsblatt"