Makro-Programmierung HILFE ;)

Dieses Thema Makro-Programmierung HILFE ;) im Forum "Windows XP Forum" wurde erstellt von BAW, 16. Feb. 2005.

Thema: Makro-Programmierung HILFE ;) Hallo! Da hier ja ganz ausgeklügelte Köpfe immer wieder guten Tipps geben, poste ich mal mein Problemchen in der...

  1. BAW
    BAW
    Hallo!

    Da hier ja ganz ausgeklügelte Köpfe immer wieder guten Tipps geben, poste ich mal mein Problemchen in der Hoffnung auf Hilfe.

    Ich habe hier eine Datei, die so aussieht: HIER

    Also Spalte A sind die Daten (Datums?!) vom ganzen Jahr 2004 - und in den spalten O bis AL gibts zu jeder Stunde (also 1-24) einen Preis. Jetzt versuche ich mit einem Makro die Dateien (am vernünftigsten natürlich durch Schleifen wegen der Menge der Daten) in ein anderes Format zu bekommen, und zwar dass die so aussehen:

    Also Spalte A erst mal das Datum eines Tages - dann Spalte B die Stunden (also wieder 1- 24) und in Spalte C den dazugehörigen Preis. Hab auch schon versucht meine nicht-existierenden Programmierkenntnisse zu überwinden und mich durch die Makro-Hilfe und durch mehrere Hilfe-Foren zu kämpfen... aber für nen Laien echt schwer.

    Hinbekommen hab ich bis jetzt das:

    Code:
    Sub Makro1()
    
    Dim Datum As Date
    Dim Zeit
    Dim Preis
    Dim Zeile
    Dim Spalte
    
    Zeile = 4
    Spalte = 1
    Zeit = 1
    ueberschr1 = Tag
    ueberschr2 = Stunde
    ueberschr3 = Preis
     
    Datum = Cells(Zeile, Spalte)
    Preis = Cells(Zeile, Spalte + 14)
    
    
    Sheets(EEX_Daten).Select
    
    Cells(1, 1) = ueberschr1
    Cells(1, 2) = ueberschr2
    Cells(1, 3) = ueberschr3
    Cells(2, 1) = Datum
    Cells(2, 3) = Preis
    Cells(2, 2) = Zeit
         
           Max = 24
           Do
                Zeit = Zeit + 1
                Cells(1 + Zeit, 2) = Zeit
                          
           Loop While Zeit < Max
           
     
    
           For X = 14 To 39
            
           Preis = Cells(Zeile + 1, Spalte + X)
                   Cells(1 + Zeit, 3) = Preis
                      
           Next
    
     
    End Sub
    
    Wobei die letzte Schleife wohl Müll ist, weil es nicht so funktioniert wie sie gemeint war ;)


    Also hoffe auf hilfe. Danke schon mal im Voraus.
     
  2. Hi BAW,

    hab dir mal einen Makro zusammengestellt.

    Funktion:
    Es wird ein neues Tabellenblatt angelegt. Überschriften Datum, Stunde, Preis werden erstellt. Dann werden für alle Zeilen des Quellblattes die entsprechenden Werte auf dem Zielblatt eingetragen.

    Gruß Matjes :)

    Code:
    Sub BlattKopierenUndSpaltenAusschneiden()
    
     ->Blattbeschreibung Quelle
      Const c_QSP_Datum = 1
      Const c_QSP_PreisStd01 = 15
      Const c_QErsteZeileWerte = 4
      
     ->Blattbeschreibung Ziel
      Const c_ZSPDatum = 1
      Const c_ZSPStd = c_ZSPDatum + 1
      Const c_ZSPPreis = c_ZSPStd + 1
      Const c_ZZUeberschrift = 1
      Const c_ZZErsteZeileWerte = c_ZZUeberschrift + 1
      
      Dim ws As Worksheet, ws2 As Worksheet, zq As Long, zz As Long, x As Long
      
      Set ws = ActiveSheet
     ->actives Blatt kopieren
      Worksheets.Add After:=ws
      Set ws2 = ActiveSheet
      
     ->Überschriften
      ws2.Cells(c_ZZUeberschrift, c_ZSPDatum).Value = Datum
      ws2.Cells(c_ZZUeberschrift, c_ZSPDatum).Font.Bold = True
      ws2.Cells(c_ZZUeberschrift, c_ZSPStd).Value = Stunde
      ws2.Cells(c_ZZUeberschrift, c_ZSPStd).Font.Bold = True
      ws2.Cells(c_ZZUeberschrift, c_ZSPPreis).Value = Preis
      ws2.Cells(c_ZZUeberschrift, c_ZSPPreis).Font.Bold = True
    
      zq = c_QErsteZeileWerte->erste  Quelle-Zeile
      zz = c_ZZErsteZeileWerte->erste Ziel-Zeile
     ->über alle Quellzeilen
      Do While ws.Cells(zq, c_QSP_Datum).Value <> 
        For x = 1 To 24
          ws2.Cells(zz, c_ZSPDatum).Value = ws.Cells(zq, c_ZSPDatum).Value
          ws2.Cells(zz, c_ZSPStd).Value = x
          ws2.Cells(zz, c_ZSPPreis).Value = ws.Cells(zq, c_QSP_PreisStd01 - 1 + x).Value
          zz = zz + 1->nächste Ziel-Zeile
        Next x
        zz = zz + 1->Leerzeile im Ziel
        zq = zq + 1->nächste Quelle-Zeile
      Loop
      Set ws = Nothing: Set ws2 = Nothing
    End Sub
     
Die Seite wird geladen...

Makro-Programmierung HILFE ;) - Ähnliche Themen

Forum Datum
Excel Makro-Programmierung Microsoft Office Suite 20. Sep. 2005
BOOTMGR fehlt HILFE Windows 7 Forum 7. Nov. 2016
probleme mit windows 7 update bitte um hilfe. Windows 7 Forum 4. Nov. 2016
Windows 8.1 Neuinstallation auf neuer Festplatte nicht möglich. Hilfe! Windows 8 Forum 11. Okt. 2016
Bitte Hilfe :( Driver_Verifier_Detected_violation (excsd.sys) Windows 10 Forum 30. Aug. 2016