Thema Datum  Von Nutzer Rating
Antwort
Rot Kopieren von einer Tabelle im Tabellenblatt in andere Tabellen in andere Tabellenblätter
26.03.2013 15:47:34 Gast95007
NotSolved

Ansicht des Beitrags:
Von:
Gast95007
Datum:
26.03.2013 15:47:34
Views:
3280
Rating: Antwort:
  Ja
Thema:
Kopieren von einer Tabelle im Tabellenblatt in andere Tabellen in andere Tabellenblätter

Hallo,

ich bin Vba Anfänger und versuche momentan ein Makro zu programmieren. Ich habe eine große Benzinpreisliste in Form einer Tabelle angelegt. Jeder Eintrag hat eine Eintragsnummer, ein Datum, natürlich den Preis, sowie die Tankstellenkette (wo ich getankt habe) und ein Feld für Bemerkungen. D.h. die Tabelle hat 5 Spalten. Ich habe jetzt für jede Tankstellenkette ein Tabellenblatt angelegt, welches den Namen einer Kette trägt (z.B. Aral, Jet,...) und in jedem eine Tabelle mit den selben 5 Spalten eingefügt. Nun möchte ich mir per Makro gern alles in diese Tabellen einsortieren lassen.

Ich weiß, dass es dafür auch Filter gibt, aber das war der ideale Einstieg in VBA Programmierung... dachte ich

Wenn das oben geschilderte Programm funktioniert, möchte ich dann die Tabellen so verknüpfen, dass eine Eingabe im ersten Tabellenblatt automatisch der Tankstelle zugeordnet wird.

Bis jetzt habe ich folgendes verfasst:

Sub Sortieren()
  Dim objWks    As Worksheet
  Dim nLastRow  As Long
  Dim strMsg    As String
  Dim Zellinhalt_Kennzeichen As String
  Dim Kennzeichen As String
  Dim erstefreieZeile As Long
    
'die letzte eingegebene Zeile der Tabelle bestimmen

  Set objWks = ActiveWorkbook.Worksheets(1)

  With objWks
      If Application.WorksheetFunction.CountA(.Cells) > 0 Then
          On Error Resume Next
          nLastRow = .Cells.Find(What:="*", After:=.Cells(1), _
                LookIn:=xlFormulas, LookAt:=xlWhole, _
                SearchOrder:=xlByRows, _
                SearchDirection:=xlPrevious).Row

          If Err.Number = 0 Then
              strMsg = "Letzte Zeile mit Daten: " & nLastRow
          Else
              strMsg = "Laufzeitfehler '" & CStr(Err.Number)
              strMsg = strMsg & "':" & vbCr & Err.Description
          End If
          On Error GoTo 0
      Else
          strMsg = "Das Tabellenblatt enthält keine Daten!"
      End If
  End With

  strMsg = "Tabellenblatt: " & objWks.Name & vbCr & vbCr & strMsg
  
'Festlegung der Variablen (Kennzeichen=Name der Tankstelle)

    Zellinhalt_Kennzeichen = "H" & nLastRow
    Kennzeichen = Range(Zellinhalt_Kennzeichen)


Select Case Kennzeichen

    Case "Aral"
    
    Case "Jet"
    
    Case "Globus"
    
    Case "Agip"
        Debug.Print "geht"
    Case "Shell"
    
    'Tabellenblatt mit Abstimmern aktivieren
        Sheets("Preisliste").Activate
    
    'Auswahl der entsprechenden Zeile aus Preistabelle
        With ActiveSheet.ListObjects("Tabelle27")

            '4te Zeile auswählen (Überschrift zählt nicht mit)
                .ListRows(4).Range.Select
        End With
        
    'Auswahl kopieren
        Selection.Copy
        
    'Tabellenblatt mit entsprechendem Kennzeichen aktivieren
        Sheets(Kennzeichen).Activate
           
    'erste freie Zeile der Tabelle auswählen
        With ActiveSheet.ListObjects("Tabelle3")
                .ListRows(1).Range.Select
        End With
            
    'einfügen
            ActiveSheet.Paste
            
    'einfügen einer Zeile oberhalb der ausgewählten
            Selection.ListObject.ListRows.Add (11)
    
    Case "Star"
    
    Case "Total"
    
End Select

  Set objWks = Nothing
  
End Sub

 

aber das funktioniert nicht so wie gedacht, oder besser gesagt iwie nur von Zeit zu Zeit. Kann mir hier eventuell jemand weiterhelfen? Ich habe keine Ahnung, wie ich die Zeilen in meiner Tabelle auf dem ersten Tabellenblatt kopieren und nach Datum sortiert in die Tabelle des passenden Tabellenblattes übertrage.


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
Rot Kopieren von einer Tabelle im Tabellenblatt in andere Tabellen in andere Tabellenblätter
26.03.2013 15:47:34 Gast95007
NotSolved