Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
608to612
608to612
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Hilfe bei Schleife in VBA
10.05.2005 11:26:50
JayLen
Hallo Leute
Ich brauche mal eure Hilfe. Ich muss eine Schleife in VBA haben, die mir Datensätze erzeugt. Schaut euch mal die Datei an:
https://www.herber.de/bbs/user/22384.xls
Unter der Überschriftenzeile brauche ich 500 (!) Datensätze, die alle in die richtigen Zeilen in anderen Tabellen verweisen. Ich habe dort schonmal 3 Datensätze erstellt, die euch als Muster dienen sollen.
Danke für die Hilfe
JayLen

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Hilfe bei Schleife in VBA
10.05.2005 12:08:30
Fritz
Hi JayLen,
Bis jetzt sehe ich noch nicht durch, was Du konkret willst!
Du mußt schon konkreter werden, wenn Dir jemand helfen soll.
Wo sind die 3 Datensätze?
Fritz
AW: Hilfe bei Schleife in VBA
10.05.2005 13:12:04
JayLen
Hi
Danke der Nachfrage...Sorry für die missliche Darstellung meines Problems.
Also es ist so, dass ich Daten aus einer Textdatei importiere. Die Daten sind in der Tabelle Zwischenablage. Jeder Datensatz befindet sich in einer Zeile. Die Tabelle Ausgabe enthält nur Verknüpfungen auf die Tabelle Zwischenablage. Jeder Zeile der Zwischenablage wird in der Ausgabe so dargestellt wie in der Testdatei zu sehen.
Es kann aber sein, dass es bis zu 500 Datensätze gibt. Jetzt müssen also die Verknüpfungen irgendwie runterkopiert werden. Da es händlich ein riesen großer Aufwand ist, brauche ich da die Hilfe.
Ich habe hier nochmal eine Testdatei. Dieses mal mit Testdaten. Ich habe mal den ersten "Datensätze" rot markiert. Sowohl in der Zwischenablage als auch in der Ausgabe.
https://www.herber.de/bbs/user/22391.xls
Ist das Problem verstanden?
gruß und Danke
JayLen
Anzeige
AW: Hilfe bei Schleife in VBA
10.05.2005 13:50:30
Dani
Hallo Fritz,
folgender Code ist in ein Modul einzufügen der Code Stellt die Datensätze auf ein Tabellenblatt "Test". Das File wurde zu gross um es hochzuladen also stelle ich die Sub mit den Funktionen hierhin:


      
Sub Datensatz_Anlegen()
Dim ZeileAusgabe, Zeilequelle As Long
Dim i As Integer
ZeileAusgabe = 9
Zeilequelle = 2
For i = 1 To 500
    ZeileAusgabe = NewDataset(ZeileAusgabe, Zeilequelle)
    Zeilequelle = Zeilequelle + 1
    DoEvents
Next
Call Frame
End Sub
Function NewDataset(ZeileAusgabe, Zeilequelle As Long)
Dim i As Integer
    Worksheets("Test").Cells(ZeileAusgabe + i, 1).FormulaLocal = "=Zwischenablage!C" & Zeilequelle
    Worksheets("Test").Cells(ZeileAusgabe + i, 2).FormulaLocal = "=Zwischenablage!D" & Zeilequelle
    Worksheets("Test").Cells(ZeileAusgabe + i, 3).FormulaLocal = "=Zwischenablage!AI" & Zeilequelle
    Worksheets("Test").Cells(ZeileAusgabe + i, 4).FormulaLocal = "=Zwischenablage!AG" & Zeilequelle
    Worksheets("Test").Cells(ZeileAusgabe + i, 5).FormulaLocal = "=Zwischenablage!G" & Zeilequelle
    Worksheets("Test").Cells(ZeileAusgabe + i, 6).FormulaLocal = "=Zwischenablage!E" & Zeilequelle
    Worksheets("Test").Cells(ZeileAusgabe + i, 7).FormulaLocal = "=Zwischenablage!F" & Zeilequelle
    Worksheets("Test").Cells(ZeileAusgabe + i, 8).FormulaLocal = "=Zwischenablage!E" & Zeilequelle
    ZeileAusgabe = ZeileAusgabe + 1
    Worksheets("Test").Cells(ZeileAusgabe + i, 3).FormulaLocal = "=Zwischenablage!AJ" & Zeilequelle
    ZeileAusgabe = ZeileAusgabe + 1
    Worksheets("Test").Cells(ZeileAusgabe + i, 3).FormulaLocal = "=Zwischenablage!L" & Zeilequelle
    ZeileAusgabe = ZeileAusgabe + 1
    Worksheets("Test").Cells(ZeileAusgabe + i, 3).FormulaLocal = "=Zwischenablage!M" & Zeilequelle
    ZeileAusgabe = ZeileAusgabe + 1
    Worksheets("Test").Cells(ZeileAusgabe + i, 3).FormulaLocal = "=Zwischenablage!N" & Zeilequelle
    ZeileAusgabe = ZeileAusgabe + 1
    Worksheets("Test").Cells(ZeileAusgabe + i, 3).FormulaLocal = "=Zwischenablage!O" & Zeilequelle
    ZeileAusgabe = ZeileAusgabe + 1
    Worksheets("Test").Cells(ZeileAusgabe + i, 3).FormulaLocal = "=Zwischenablage!P" & Zeilequelle
    ZeileAusgabe = ZeileAusgabe + 1
    Worksheets("Test").Cells(ZeileAusgabe + i, 3).FormulaLocal = "=Zwischenablage!Q" & Zeilequelle
    ZeileAusgabe = ZeileAusgabe + 1
    Worksheets("Test").Cells(ZeileAusgabe + i, 3).FormulaLocal = "=Zwischenablage!R" & Zeilequelle
    ZeileAusgabe = ZeileAusgabe + 1
    Worksheets("Test").Cells(ZeileAusgabe + i, 3).FormulaLocal = "=Zwischenablage!S" & Zeilequelle
    ZeileAusgabe = ZeileAusgabe + 1
    Worksheets("Test").Cells(ZeileAusgabe + i, 3).FormulaLocal = "=Auswertung!J" & Zeilequelle + 5
    ZeileAusgabe = ZeileAusgabe + 1
NewDataset = ZeileAusgabe
End Function
Function Frame()
    Worksheets("Test").Select
    Worksheets("Test").Range("B9:B5508").Select
    
With Selection.Borders(xlEdgeLeft)
        .LineStyle = xlContinuous
        .Weight = xlHairline
    
End With
    
With Selection.Borders(xlEdgeRight)
        .LineStyle = xlContinuous
        .Weight = xlHairline
    
End With
    Worksheets("Test").Range("D9:D5508").Select
    
With Selection.Borders(xlEdgeLeft)
        .LineStyle = xlContinuous
        .Weight = xlHairline
    
End With
    
With Selection.Borders(xlEdgeRight)
        .LineStyle = xlContinuous
        .Weight = xlHairline
    
End With
    Worksheets("Test").Range("F9:F5508").Select
    
With Selection.Borders(xlEdgeLeft)
        .LineStyle = xlContinuous
        .Weight = xlHairline
    
End With
    Worksheets("Test").Range("G9:G5508").Select
    
With Selection.Borders(xlEdgeRight)
        .LineStyle = xlContinuous
        .Weight = xlHairline
    
End With
For i = 8 To 5500 Step 11
    Worksheets("Test").Range("A" & i & ":H" & i).Select
    
With Selection.Borders(xlEdgeBottom)
        .LineStyle = xlContinuous
        .Weight = xlThin
    
End With
Next
    Worksheets("Test").Range("A8:H5508").Select
    
With Selection.Borders(xlEdgeLeft)
        .LineStyle = xlContinuous
        .Weight = xlThin
    
End With
    
With Selection.Borders(xlEdgeTop)
        .LineStyle = xlContinuous
        .Weight = xlThin
    
End With
    
With Selection.Borders(xlEdgeBottom)
        .LineStyle = xlContinuous
        .Weight = xlThin
    
End With
    
With Selection.Borders(xlEdgeRight)
        .LineStyle = xlContinuous
        .Weight = xlThin
    
End With
End Function 
Ich hoffe ich habe dich richtig verstanden
Gruss
Dani
Anzeige
AW: Hilfe bei Schleife in VBA
10.05.2005 15:53:44
JayLen
Hi Dani
Es ist bereits jetzt eine riesen Erleichterung und großartig. Es funktioniert fast alles einwandfrei. Du müsstest einmal bitte eine Markierung ändern. Bzw ergänzen. Sorry, ich komm nicht drauf, wo ich das einfügen muss.
Im Moment wird jeder Datensatz mit einer normalen Linie abgeschlossen. Das ist auch richtig. Allerdings muss der Datensatz auch mit einer Linie anfangen. Klingt komisch, ist aber so :D... Ist zwar theoretisch nur eine Linie, aber sie muss statt von oben, von unten erstellt werden, damit ein Autofilter gesetzt werden kann.
Wenn du das noch einbringen könntest wäre es klasse.
Ich danke dir vielmals...
gruß JayLen
Anzeige
AW: Hilfe bei Schleife in VBA
11.05.2005 08:11:40
Dani
Hallo JayLen
ändere mal die Schleife für die durchgezogenen Linien in der Function Frame folgendermassen:


      
For i = 8 To 5500 Step 11
    Worksheets("Test").Range("A" & i & ":H" & i).Select
    
With Selection.Borders(xlEdgeBottom)
        .LineStyle = xlContinuous
        .Weight = xlThin
    
End With
    Worksheets("Test").Range("A" & i + 1 & ":H" & i + 1).Select
    
With Selection.Borders(xlEdgeBottom)
        .LineStyle = xlContinuous
        .Weight = xlThin
    
End With 
Anzeige

313 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige