Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Zeilen ergänzen- Großes Dokument
#1
Hallo liebe Excel Experten,

ich habe folgendes Problem,

ich habe Länderdaten runtergeladen jedoch muss ich die Tabelle verändern.
Gerade zeigt es alle Länder nacheinander an (Spalte A) und die werte (F) zu der dazugehörigen Zeit (E).
Wie ihr, wenn ihr die Tabelle öffnet, sehen könnt, fehlen die Zeilen für die Jahre 1997, 1999, 2001 und 2017.
Ich muss, um mit diesen Daten weiter zu arbeiten, die Tabelle wie in Tabelle Ziel anzeigen. 
Ich hoffe jemand kann mir dabei helfen.


Liebe Grüße,

Manuel


Angehängte Dateien Thumbnail(s)
   
Antworten Top
#2
hier ist die Tabelle


Angehängte Dateien
.xlsx   Mappe1.xlsx (Größe: 306,47 KB / Downloads: 10)
Antworten Top
#3
hat keiner eine Lösung für dieses Problem?
Antworten Top
#4
Hallo,

was genau ist denn Dein Ziel? Sehe ich das richtig, dass Du eine Auflistung mit den Jahren haben möchtest, welche sich nicht in der Liste befinden? Wie sehen Deine Rohdaten aus?
Gruß Jonas
Antworten Top
#5
mein Ziel ist, dass die Tabelle für jedes Land Zellen für den Zeitraum von 1996 bis 2017 hat, jedoch sind bei den Rohdaten die Jahre 1997, 1999, 2000 und 2017 nicht vorhanden, da es für diese Jahre keine Werte gibt. Jedoch ist es mir egal ob in der Spalte Value Werte vorhanden sind oder nicht, es geht mir lediglich darum, dass jedes Land pro Jahr (1996 bis 2017) eine Zeile bekommt.
Das Bild zeigt wie die Tabelle aussehen soll, ich habe die Zellen die eingefügt werden müssen rot markiert, jedoch habe ich das nur für 1 Land gemacht, brauche jedoch Hilfe bei den fehlenden 213 Ländern.
Antworten Top
#6
Hallo,

darf ich fragen, was der Sinn der Aktion sein soll?
Gruß Jonas
Antworten Top
#7
ich brauche diese Daten so um dann weiter damit zu arbeiten, es ist ein Projekt von der Uni. Es geht um Ursachen des Resourcenfluchs und Control of Corruption ist eine Variable davon.
Antworten Top
#8
Hallo Manuel,

probiere es mal damit:
Sub JahreErgaenzen()
Dim lngZ As Long
Application.ScreenUpdating = False
For lngZ = Cells(Rows.Count, 1).End(xlUp).Row To 2 Step -1
If Cells(lngZ, 1).Value = Cells(lngZ - 1, 1).Value Then
If Cells(lngZ, 5).Value - Cells(lngZ - 1, 5).Value > 1 Then
Rows(lngZ).Insert
Cells(lngZ, 1).Resize(1, 4).Value = Cells(lngZ - 1, 1).Resize(1, 4).Value
Cells(lngZ, 5).Value = Cells(lngZ + 1, 5).Value - 1
End If
End If
Next lngZ
Application.ScreenUpdating = True
End Sub
Gruß Uwe
[-] Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:
  • lu11pasi
Antworten Top
#9
Hi Uwe,

Dein Code berücksichtig allerdings keine fehlenden Anfangs- bzw. Endjahre.

Ich habe einen ähnlichen Code, ich sucher aber noch nach einer performanteren Arraylösung, ohne einzelne Zugriffe.

edit:

Da mir aktuell keine schöne Arraylösung einfällt, werfe ich mal meine Version mit Einzelnen Zellzugriffen in die Runde, welche etwas stabiler in Bezug auf die Jahre ist.

PHP-Code:
Option Explicit

Sub jonas0806
()
 
   Dim i As LongAs Long1996
    With Tabelle1
        For i 
2 To .Cells(Rows.Count1).End(xlUp).Row
            If 
.Cells(i5) <> j Then
                
.Rows(i).Insert
                
.Cells(i1).Resize(14).Value Cells(11).Resize(14).Value
                
.Cells(i5) = j
            End 
If
 
           j 1
            If j 
2017 Then j 1996
        Next i
    End With
End Sub 
Gruß Jonas
[-] Folgende(r) 1 Nutzer sagt Danke an Jonas0806 für diesen Beitrag:
  • lu11pasi
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste