Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
428to432
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
428to432
428to432
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Hilfe, Danke, und umsortieren von Tabellen
20.05.2004 18:37:32
Tabellen
Hallo,
vielen Dank für eure bisherige Hilfe zur Doktorarbeit, aber wir haben immer noch ein Problem. Aus unserer Musterdatei seht ihr, wie unsere Tabelle später aussehen soll. wir verstehen soweit die beiden nachfolgenden Makros, daß wir sicher auch in anderen Makros die Werteanzahl, usw. selbst ändern können.
Wir bräuchten also ein Makro, bei dem wir die Anzahl der zu sortierenden Werte selbst eingeben können. usw. Das Problem liegt darin, daß wir immer zwei Werte einem Bezug zuteilen müssen. und die Werte eben hintereinander stehen....
Wir haben etwa 5000 Zeilen mit solchen Werten.
Unten fügen wir mal an, was wir bereits an Makros von euch bekommen haben. IIhr könnt uns sicher nochmal helfen. BITTE!!!!!
Tausend DANK Marcie und Christian
https://www.herber.de/bbs/user/6567.xls
Makro 1:

Sub Struktur_aendern()
Application.ScreenUpdating = False
Set bas = Worksheets("basis")
x = 1
z = bas.Range("A65536").End(xlUp).Row
For i = 1 To z
For j = 0 To 3
Worksheets("code").Cells(x + j, 1) = bas.Cells(i, 1)
Worksheets("code").Cells(x + j, 2) = bas.Cells(i, j + 2)
Next j
x = x + 4
Next i
Application.ScreenUpdating = True
End Sub

Makro 2:

Sub ListeUmschreiben()
Dim ws1 As Worksheet, ws2 As Worksheet, z As Range, i%, efz%
Set ws1 = ThisWorkbook.Worksheets("basis")
Set ws2 = ThisWorkbook.Worksheets("code")
For Each z In ws1.Range("A2:A" & ws1.Cells(Rows.Count, 1).End(xlUp).Row)
For i = 1 To 4
efz = ws2.Cells(Rows.Count, 1).End(xlUp).Row + 1
If i = 1 Then efz = efz + 1
ws2.Cells(efz, 1).Value = z.Value
ws2.Cells(efz, 2).Value = z.Offset(0, i).Value
Next i
Next z
End Sub

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Hilfe, Danke, und umsortieren von Tabellen
Tabellen
Hi Marceline und Christian,
Einzeln verstehe ich das:
:wir verstehen soweit die beiden nachfolgenden Makros, daß wir sicher auch in anderen :Makros die Werteanzahl, usw. selbst ändern können.
Das verstehe ich auch (wenn auch schon weniger:-):
:Wir bräuchten also ein Makro, bei dem wir die Anzahl der zu sortierenden Werte selbst :eingeben können. usw.
Aber beide Sätze nacheinander von euch geschrieben ergeben für mich keinen Sinn.
Was hab ich da nicht verstanden?
Sollen da Inputboxes eingebaut werden? Oder wie , was, wo?
Gruß
Reinhard
AW: Hilfe, Danke, und umsortieren von Tabellen
21.05.2004 10:20:30
Tabellen
Wir verstehen grundsätzlich Makros, können diese meist auch an unsere gegebenheiten anpassen, aber sie leider nicht selbst schreiben. Hast du dir die Excel musterdatei angeschaut? Wir dachten die sagt eigentlich genau, was wir wollen. ohne sie anzusehen hat auch unsre frage keinen sinn.
grüße
Marcie und C.
Anzeige
AW: Hilfe, Danke, und umsortieren von Tabellen
Tabellen
Hallo,
für die Übernahme aus Tabelle "Basis" nach Tabelle "Code" und 4 Wertepaare:

Sub Struktur_aendern2()
Application.ScreenUpdating = False
Set bas = Worksheets("basis")
x = 1
z = bas.Range("A65536").End(xlUp).Row
For i = 1 To z
For j = 0 To 3
Worksheets("code").Cells(x + j, 1) = bas.Cells(i, 1)
Worksheets("code").Cells(x + j, 2) = bas.Cells(i, 2 * j + 2)
Worksheets("code").Cells(x + j, 3) = bas.Cells(i, 2 * j + 3)
Next j
x = x + 4
Next i
Application.ScreenUpdating = True
End Sub

Für n Wertepaare (in der Inputbox angeben):

Sub Struktur_aendern3()
Application.ScreenUpdating = False
n = InputBox("Anzahl der Wertepaare?")
Set bas = Worksheets("basis")
x = 1
z = bas.Range("A65536").End(xlUp).Row
For i = 1 To z
For j = 0 To n - 1
Worksheets("code").Cells(x + j, 1) = bas.Cells(i, 1)
Worksheets("code").Cells(x + j, 2) = bas.Cells(i, 2 * j + 2)
Worksheets("code").Cells(x + j, 3) = bas.Cells(i, 2 * j + 3)
Next j
x = x + n
Next i
Application.ScreenUpdating = True
End Sub

Das Ganze funktioniert am besten ohne Spaltenüberschriften (die werden ansonsten in Code vervielfacht. Man könnte das Makro daran anpassen, aber dann wird es für Euch noch unübersichtlicher ;-) ).
Gruß
Martin Beck
Anzeige

51 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige