Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
712to716
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
712to716
712to716
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Bereich markieren + in sep. Ablätter kopieren

Bereich markieren + in sep. Ablätter kopieren
05.01.2006 14:04:38
Proxima05
Hallo, habe mal wieder eine Frage.
In einer Tabelle (A1:E5) stehen Werte. In der Zeile 1 sind die Spaltenüberschriften aufgeführt (A1 = Land; A2 = USA, A3 = China, A4 = Indien, A5 = England). A2 = Umsatz, A3 = Kosten, A4 = Ergebnis, A5 = Bemerkung
Ich suche jetzt nach einer Möglichkeit über einen Befehlsbutton mir die Werte von B2 bis E5 (= Bereich ohne die Überschriften), zugeordnet zu dem jeweiligen Land, zu markieren und diese für jedes Land in ein separates Arbeitsblatt (bereits vorhanden, bezeichnet mit dem jeweiligen Landnamen) zu kopieren, wobei in diesem Blatt die Spaltenüberschriften (gem. A1 bis E5) bereits vorhanden sind, also nicht neu angelegt werden sollen.
Wäre nett, wenn ich da schnell eine Info bekommen könnte ..... das googeln hat mich doch etwas verwirrt.
Allerbesten Dank

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

Betreff
Datum
Anwender
Anzeige
AW: Bereich markieren + in sep. Ablätter kopieren
05.01.2006 15:10:48
Proxima05
Super Arbeit! ...... aber ich habe jetzt festgestellt, dass das so noch nicht der Schönheit letzter Schluss ist.
Ich habe vergessen, dass das jeweilige Länder öfters als einmal auftauchen kann .... d.h., dass er mir in der vorliegenden Form einen "Index ausserhalb des gültigen Bereichs" meldet (in der Zeile "szK(x - 1) = Sheets(1).Cells(i, x).Value"), wenn ich z.b. die "2 to 5" durch "2 to 6" ersetze ..... meine Vorstellung ist, dass man "5" je nach vorliegenden Datei nach unten automatisch im Code erweitert, denn die Datei kann recht schnell wachsen. Für jede Zeile pro Land sollte dann auch in der Zielmappe das Land mit eingefügt werden.
Was mir auch noch aufgefallen ist, ist dass in der Zielmappe vor dem Eintrag eine/mehrere Leerzeilen eingefügt sind (z.B. China; dort wird der Eintrag erst in Zeile 3 kopiert, weil er in Tabelle 1 auch in Zeile 3 steht) .... kann man das ändern?
Könnte man ebenfalls noch automatisch ein Arbeitsblatt aufmachen lassen, falls eine solche für ein Land in Tabelle 1 noch nicht existiert?
Ist mir schon peinlich, soviel zu fragen, aber ich muss mich da erst einarbeiten .... und das geht am besten für mich über die Betrachtung von Beispielen (wobei der hierzugehörige Code schon wieder neue unbekannt Parameter hat).
Verbindlichsten Dank für jede Hilfe!
Anzeige
AW: Bereich markieren + in sep. Ablätter kopieren
09.01.2006 14:22:41
Eugen
hi
dann probier diese mal
Option Base 1
Option Explicit

Private Sub CommandButton1_Click()
Dim szK(4) As String    ' ggf umdeklarieren
Dim bFound As Boolean
Dim szLand As String
Dim nRow, x, xx, xxx, i As Long
i = 2
bFound = False
Do While Sheets(1).Cells(i, 1).Value <> "" ' Leerzelle = abbruch
szLand = Sheets(1).Cells(i, 1).Value
For x = 2 To 5
szK(x - 1) = Sheets(1).Cells(i, x).Value
Next x
' searching target table
For x = 1 To Sheets.Count
If Sheets(x).Name = szLand Then
bFound = True
' nächste frei Zeile ermitteln
For xxx = 1 To 65535
If Sheets(x).Cells(xxx, 1).Value = "" Then Exit For
Next xxx
nRow = xxx
Exit For
End If
Next x
If Not bFound Then  ' tabelle anlegen
Sheets.Add after:=Sheets(Sheets.Count)
Sheets(Sheets.Count).Name = szLand
nRow = 1
End If
For xx = 2 To 5
Sheets(x).Cells(nRow, xx).Value = szK(xx - 1)
Next xx
Sheets(x).Cells(nRow, 1).Value = szLand
i = i + 1
bFound = False
Loop
End Sub

mfg
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige