Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  Excel
  Excel-kopieren

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  Excel-kopieren (1573 mal gelesen)
Demokrat2000
Mitglied



Sehen Sie sich das Profil von Demokrat2000 an!   Senden Sie eine Private Message an Demokrat2000  Schreiben Sie einen Gästebucheintrag für Demokrat2000

Beiträge: 145
Registriert: 27.09.2004

erstellt am: 27. Jan. 2005 11:04    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo q all,

ich habe hier ne riesige Menge an Exceldaten. Jetzt muß ich jede 10.Zeile kopieren und die in einem neuen Excelblatt hintereinander einfügen.
Leider habe ich bis es noch nicht herausfgefunden, wie das mit den beiden Laufvariablen funzt. Ich habe schon versucht mir ein Makro aufzuzeichnen und daher den Code zu übernhemen aber naja ich müßte das für jede Zeile schreiben und d a geht es wahrscheinlich schneller, wenn man es von hand macht. Kann mir einer von Euch nen Tipp geben.

Ich möchte mich jetzt schon mal für Eure Hilfe bedanken :-)

MfG

Demokrat2000

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

startrek
Moderator
Architekt


Sehen Sie sich das Profil von startrek an!   Senden Sie eine Private Message an startrek  Schreiben Sie einen Gästebucheintrag für startrek

Beiträge: 1361
Registriert: 13.02.2003

.

erstellt am: 27. Jan. 2005 13:56    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Demokrat2000 10 Unities + Antwort hilfreich

Hi Martin,

mit: Cells(Rows.Count, 1).End(xlUp).Row ermittelst Du die Zeilennummer
der letzten belegten Zelle in Spalte A.

HTHHope this helps (Hoffe, es hilft weiter) Nancy

Code:

Sub x()
  Dim i As Long
  Sheets.Add
  With Sheets("Tabelle1") 'Datentabelle
    For i = 10 To .Cells(Rows.Count, 1).End(xlUp).Row Step 10
      'letzte belegte Zeile+1 in Activesheet = .Rows(i)
      Rows(Cells(Rows.Count, 1).End(xlUp).Row + 1) = .Rows(i).Value
    Next
  End With
End Sub

     

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Demokrat2000
Mitglied



Sehen Sie sich das Profil von Demokrat2000 an!   Senden Sie eine Private Message an Demokrat2000  Schreiben Sie einen Gästebucheintrag für Demokrat2000

Beiträge: 145
Registriert: 27.09.2004

erstellt am: 27. Jan. 2005 14:30    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hey Nancy,

mhh wie sage ich ihm denn, das er mir das in nem anderen Datenblatt reinschreiben soll?Bis jetzt habe ich noch Tabelle 1, wo die Daten drinne stehen und danach, soll er mir das in Tabelle2 schreiben?
Ich dachte, das er es mir vielleicht mit
Set Worksheets("Tabelle2").Range("A1")=rows.values(i)

machen könnte aber Fehlanzeige.

Martin

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

startrek
Moderator
Architekt


Sehen Sie sich das Profil von startrek an!   Senden Sie eine Private Message an startrek  Schreiben Sie einen Gästebucheintrag für startrek

Beiträge: 1361
Registriert: 13.02.2003

.

erstellt am: 27. Jan. 2005 14:47    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Demokrat2000 10 Unities + Antwort hilfreich

> Set Worksheets("Tabelle2").Range("A1")=rows.values(i)

Martin, na da würde ich aber auch nen Error melden ;-))
Okay, dann eben mal ohne ein neues Blatt einzufügen, und über eine Objectvariable brauchst Du hier nicht unbedingt gehen.

Code:
Sub x()
  Dim i As Long
  With Sheets("Tabelle1") 'Datentabelle
    For i = 10 To .Cells(Rows.Count, 1).End(xlUp).Row Step 10
      Sheets("Tabelle2").Rows(Cells(Rows.Count, 1).End(xlUp).Row + 1) = .Rows(i).Value
    Next
  End With
End Sub

Gruss Nancy

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Demokrat2000
Mitglied



Sehen Sie sich das Profil von Demokrat2000 an!   Senden Sie eine Private Message an Demokrat2000  Schreiben Sie einen Gästebucheintrag für Demokrat2000

Beiträge: 145
Registriert: 27.09.2004

erstellt am: 27. Jan. 2005 15:34    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

hallo Nancy,

naja schon mal gar nicht so schlecht :-)
ABER :-) er schreibt alles immer nur in eine zeile er geht nicht weiter.
Dachte vielleicht,dass man das so schreiben könnte aber naja er überschreibt immer noch die selben Zeilen.

Private Sub CommandButton1_Click()

Dim i As Long
With Sheets("Tabelle2") 'Datentabelle
For i = 10 To .Cells(Rows.Count, 1).End(xlUp).Row Step 10
Sheets("Tabelle1").Rows(Cells(Rows.Count, 1).End(xlUp).Row + 1) = .Rows(i).Value
If Worksheets("Tabelle1").Range("A280") <> 0 Then
Sheets("Tabelle1").Rows(Cells(Rows.Count, 1).End(xlUp).Row + 2) = .Rows(i).Value
End If
If Worksheets("Tabelle1").Range("A280") <> 0 Then
Sheets("Tabelle1").Rows(Cells(Rows.Count, 1).End(xlUp).Row + 3) = .Rows(i).Value
End If
If Worksheets("Tabelle1").Range("A280") <> 0 Then
Sheets("Tabelle1").Rows(Cells(Rows.Count, 1).End(xlUp).Row + 4) = .Rows(i).Value
End If
If Worksheets("Tabelle1").Range("A280") <> 0 Then
Sheets("Tabelle1").Rows(Cells(Rows.Count, 1).End(xlUp).Row + 5) = .Rows(i).Value
End If
If Worksheets("Tabelle1").Range("A280") <> 0 Then
Sheets("Tabelle1").Rows(Cells(Rows.Count, 1).End(xlUp).Row + 6) = .Rows(i).Value
End If
If Worksheets("Tabelle1").Range("A280") <> 0 Then
Sheets("Tabelle1").Rows(Cells(Rows.Count, 1).End(xlUp).Row + 7) = .Rows(i).Value
End If
If Worksheets("Tabelle1").Range("A286") <> 0 Then
Sheets("Tabelle1").Rows(Cells(Rows.Count, 1).End(xlUp).Row + 8) = .Rows(i).Value
End If
If Worksheets("Tabelle1").Range("A287") <> 0 Then
Sheets("Tabelle1").Rows(Cells(Rows.Count, 1).End(xlUp).Row + 9) = .Rows(i).Value
End If
If Worksheets("Tabelle1").Range("A288") <> 0 Then
Sheets("Tabelle1").Rows(Cells(Rows.Count, 1).End(xlUp).Row + 10) = .Rows(i).Value
End If
If Worksheets("Tabelle1").Range("A289") <> 0 Then
Sheets("Tabelle1").Rows(Cells(Rows.Count, 1).End(xlUp).Row + 11) = .Rows(i).Value
End If
If Worksheets("Tabelle1").Range("A290") <> 0 Then
Sheets("Tabelle1").Rows(Cells(Rows.Count, 1).End(xlUp).Row + 12) = .Rows(i).Value
End If
If Worksheets("Tabelle1").Range("A291") <> 0 Then
Sheets("Tabelle1").Rows(Cells(Rows.Count, 1).End(xlUp).Row + 13) = .Rows(i).Value
End If
If Worksheets("Tabelle1").Range("A292") <> 0 Then
Sheets("Tabelle1").Rows(Cells(Rows.Count, 1).End(xlUp).Row + 14) = .Rows(i).Value
End If
If Worksheets("Tabelle1").Range("A293") <> 0 Then
Sheets("Tabelle1").Rows(Cells(Rows.Count, 1).End(xlUp).Row + 15) = .Rows(i).Value
End If
If Worksheets("Tabelle1").Range("A294") <> 0 Then
Sheets("Tabelle1").Rows(Cells(Rows.Count, 1).End(xlUp).Row + 16) = .Rows(i).Value
End If
If Worksheets("Tabelle1").Range("A295") <> 0 Then
Sheets("Tabelle1").Rows(Cells(Rows.Count, 1).End(xlUp).Row + 17) = .Rows(i).Value
End If
If Worksheets("Tabelle1").Range("A296") <> 0 Then
Sheets("Tabelle1").Rows(Cells(Rows.Count, 1).End(xlUp).Row + 18) = .Rows(i).Value
End If
If Worksheets("Tabelle1").Range("A297") <> 0 Then
Sheets("Tabelle1").Rows(Cells(Rows.Count, 1).End(xlUp).Row + 19) = .Rows(i).Value
End If
If Worksheets("Tabelle1").Range("A298") <> 0 Then
Sheets("Tabelle1").Rows(Cells(Rows.Count, 1).End(xlUp).Row + 20) = .Rows(i).Value
End If
If Worksheets("Tabelle1").Range("A299") <> 0 Then
Sheets("Tabelle1").Rows(Cells(Rows.Count, 1).End(xlUp).Row + 21) = .Rows(i).Value
End If
If Worksheets("Tabelle1").Range("A300") <> 0 Then
Sheets("Tabelle1").Rows(Cells(Rows.Count, 1).End(xlUp).Row + 22) = .Rows(i).Value
End If

Next

End With

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Demokrat2000
Mitglied



Sehen Sie sich das Profil von Demokrat2000 an!   Senden Sie eine Private Message an Demokrat2000  Schreiben Sie einen Gästebucheintrag für Demokrat2000

Beiträge: 145
Registriert: 27.09.2004

erstellt am: 27. Jan. 2005 15:38    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

DU Nancy,

wenn ich das gleich in die 1.Zeile det Tabelle 2 schreiben möchte,wie muß man das denn schreiben?

martin

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

startrek
Moderator
Architekt


Sehen Sie sich das Profil von startrek an!   Senden Sie eine Private Message an startrek  Schreiben Sie einen Gästebucheintrag für startrek

Beiträge: 1361
Registriert: 13.02.2003

.

erstellt am: 27. Jan. 2005 15:55    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Demokrat2000 10 Unities + Antwort hilfreich

Ehm ... *schluck* ;;-))

Martin, wenn ich das richtig sehe, bügelst Du 'zig mal Rows(i) nach Tabelle1 rüber???
Bin mir momentan nicht so ganz im Klaren, was Du erreichen möchtest?
Wenn der i-Zähler mitgehen soll, dann aber auch jeweils Rows(i+1), Rows(i+2), Rows(i+x) ???
Vielleicht kannst Du aber mal eine kleine Beispielmappe uppen?

Was die erste freie Zeile in der Kopietabelle angeht, würde ich am Ende der Prozedur
quick 'n dirty: rows(1).delete machen ;-))

Gruss Nancy   

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Demokrat2000
Mitglied



Sehen Sie sich das Profil von Demokrat2000 an!   Senden Sie eine Private Message an Demokrat2000  Schreiben Sie einen Gästebucheintrag für Demokrat2000

Beiträge: 145
Registriert: 27.09.2004

erstellt am: 27. Jan. 2005 16:16    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


v1.txt

 
hallo Nancy,

also ich will jeden 10 Wert ausgeliefert bekommen und diese werte sollen in tabelle2 beginnend ab A1 ausgegeben werden.

Vielen Dank.

martin

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

startrek
Moderator
Architekt


Sehen Sie sich das Profil von startrek an!   Senden Sie eine Private Message an startrek  Schreiben Sie einen Gästebucheintrag für startrek

Beiträge: 1361
Registriert: 13.02.2003

.

erstellt am: 27. Jan. 2005 17:07    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Demokrat2000 10 Unities + Antwort hilfreich

Ooooops, da im ersten Code mit Sheets.Add automatisch im Activesheet
die Musik spielte, hab ich dann beim zweiten das tricky 2. Sheets("Tabelle2") vergessen,
weil nicht probiert - sorry :-(
Die Zeile hätte müssen heissen:
Code:

Sheets("Tabelle2").Rows(Sheets("Tabelle2").Cells(Rows.Count, 1).End(xlUp).Row + 1) = .Rows(i).Value


Hier nun trotzdem nochmal etwas anders, mal ohne with dafür mit zwei Zählern

Gruss Nancy

Code:

Sub x()
  Dim i As Long, x As Long, y As Long
  'letzte belegte Zeile im Datensheet
  x = Sheets("Tabelle1").Cells(Rows.Count, 1).End(xlUp).Row
  For i = 10 To x Step 10
    'jeweils letzte belegte Zeile+1 in der Kopietabelle
    y = Sheets("Tabelle2").Cells(Rows.Count, 1).End(xlUp).Row + 1
    Sheets("Tabelle2").Rows(y) = Sheets("Tabelle1").Rows(i).Value
  Next
  Sheets("Tabelle2").Rows(1).Delete
End Sub
   

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

pablo
Mitglied
Techniker


Sehen Sie sich das Profil von pablo an!   Senden Sie eine Private Message an pablo  Schreiben Sie einen Gästebucheintrag für pablo

Beiträge: 453
Registriert: 23.01.2002

erstellt am: 27. Jan. 2005 17:08    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Demokrat2000 10 Unities + Antwort hilfreich

Demokrat2000
probiers mal damit:

Option Explicit

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  If Target.Row = 1 And Target.Column = 1 Then
    CopyRows 2, 10
  End If
End Sub

Public Sub CopyRows(ByVal FirstRow As Long, _
                    ByVal RowDiff As Long)
Dim Counter As Long

On Error GoTo ErrorHandler
  Do Until ActiveWorkbook.Worksheets("Tabelle1").Cells(FirstRow, 1) = ""
    Counter = Counter + 1
    ActiveWorkbook.Worksheets("Tabelle2").Rows(Counter).Value = _
    ActiveWorkbook.Worksheets("Tabelle1").Rows(FirstRow).Value
    FirstRow = FirstRow + RowDiff
  Loop
Exit Sub
ErrorHandler:
MsgBox "Fehler"
End Sub

HTHHope this helps (Hoffe, es hilft weiter) pablo

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP



Technischer Systemplaner (m/w/d) ? Versorgungstechnik

GOLDBECK?realisiert zukunftsweisende Immobilien in Europa. Wir verstehen Gebäude als Produkte und bieten alle Leistungen aus einer Hand: vom Design über den Bau bis zu Services im Betrieb. Aktuell beschäftigt unser Familienunternehmen mehr als 12.000 Mitarbeitende an über 100 Standorten bei einer?Gesamtleistung von über 6 Mrd. Euro. Unser Anspruch ?building?excellence? steht dabei für Spitzenleistungen ...

Anzeige ansehenGebäude-, Versorgungs-, Sicherheitstechnik
Thomas Harmening
Moderator
Arbeiter ツ




Sehen Sie sich das Profil von Thomas Harmening an!   Senden Sie eine Private Message an Thomas Harmening  Schreiben Sie einen Gästebucheintrag für Thomas Harmening

Beiträge: 2897
Registriert: 06.07.2001

Das Innerste geäussert
und aufs Äusserste verinnerlicht

erstellt am: 27. Jan. 2005 17:52    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Demokrat2000 10 Unities + Antwort hilfreich

alternativ ohne Marko

in einer freien Spalte =REST(ZEILE(1:1);10) eingeben zb Zelle M1
runterkopieren bis Datenbestandende
Autofilter setzen, nach dem gewünschtem Rest filtern,
markieren, kopieren und in ein neues Blatt einfügen

ist halt Handarbeit  

aber in manchen Fällen unerlässlich...
zb. man will nur die Zeilen Kopieren die die Primzahlbilden ...
...wer weiss was für unglückliche Arbeitsaufgaben einem so gestellt werden 

in einer freien Zelle der 2ten Zeile
{=WENN(SUMME(WENN(REST(ZEILE(2:2);ZEILE(INDIREKT("2:"&ZEILE(2:2)-1)));0;1));"";"PRIMZAHL")}
eingeben, filtern und Kopieren 

gruss Thomas

[Diese Nachricht wurde von Thomas Harmening am 27. Jan. 2005 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz