Thema Datum  Von Nutzer Rating
Antwort
28.11.2018 13:14:22 Meli
Solved
Blau Makro mit richtigen Sheet anfangen
28.11.2018 14:09:00 Gast8909
NotSolved
28.11.2018 14:59:25 Meli
Solved

Ansicht des Beitrags:
Von:
Gast8909
Datum:
28.11.2018 14:09:00
Views:
499
Rating: Antwort:
  Ja
Thema:
Makro mit richtigen Sheet anfangen

Ohne dass ich den Nährwert verstehe, laufen tut's

Option Explicit

Sub ÜbersichtErstellen()
'   ein Arbeitsblatt "Makros", wo ich ein Command-Button eingefügt habe
'   das Makro "ÜbersichtErstellen" zugewiesen habe
'** ergo ist beim Klick auf Button Sheets("Makros") aktiv
'** gehe ich leise weinend davon aus, dass
'** Code wo Makro auch in Mappe wo Sheet("Makros") - somit ThisWorkbook überflüssig

   'Inhalte in Blätter "Übersicht" leeren
   Sheets("Übersicht").Range("A1:AB200").Clear
   
   'von Abzug nach Übersicht
   Sheets("Abzug").Range("A1:AB200").Copy Sheets("Übersicht").Range("A1")

'** bin es leid ständig zuzuweisen
With Sheets("Übersicht")
   'Spalten löschen
   .Columns("A:A").Delete
   .Columns("B:C").Delete
   .Columns("C:C").Delete
   .Columns("D:N").Delete
   .Columns("H:J").Delete
   .Columns("J").Delete
   '** verbleibt Spalte 2,5,7,19,20,21,22,26,27 aus "Übersicht"
   '** warum kopierst du nicht nur diese und da nur die benutzen Zeilen (UsedRange)

   'Zahl vom Textformat ins Zahlenformat umwandeln
   Dim LetzteZeile As Long
   Dim x As Long
   '** Dim zur Laufzeit ist häßlich
      
   LetzteZeile = .Range("C200").End(xlUp).Row
         For x = 2 To LetzteZeile
            .Cells(x, 3) = CLng(Cells(x, 3))
            .Cells(x, 3).NumberFormat = "General"
         Next x

   'Werte dazuschreiben
   .Range("k1").Value = "Summe"
   .Range("N1").Value = "check"
   
   'falls neue KST dazu kommen, dann Range "J4:J6" anpassen
   Sheets("Makros").Range("J4:J6").Copy .Range("K2")


   'Errechnen der Summen pro Kostenstelle
   Dim Arg1 As Range 'the range I want to sum
   Dim Arg2 As Range 'criteria range
   Dim Arg3 As Variant 'the criteria as VARIANT
   Dim i As Integer
   Dim LastColumn As Long: LastColumn = 12
   '** Spalten geben Long zurück

    Set Arg1 = .Range("H1:H200") 'Arg1 and Arg2 must be the same size
    Set Arg2 = .Range("C1:C200") 'Arg1 and Arg2 must be the same size
    Set Arg3 = .Range("K2:K13")  'criteria can have different size
    
    'falls neue KST dazu kommen, dann Range letzten Wert von i anpassen - je nach Zeilenanzahl
    For i = 2 To 4
      .Cells(i, LastColumn) _
            = Application.WorksheetFunction.SumIfs(Arg1, Arg2, Arg3.Cells(i - 1, 1).Value)
            '** nicht überprüft
      Next

   'Errechnen der Gesamtsumme + Check
   .Cells(1, 12).Formula = "=SUM(L2:L15)"
   .Cells(1, 15).Formula = "=SUM(H:H)-L1"

End With

End Sub

 


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
28.11.2018 13:14:22 Meli
Solved
Blau Makro mit richtigen Sheet anfangen
28.11.2018 14:09:00 Gast8909
NotSolved
28.11.2018 14:59:25 Meli
Solved