Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1428to1432
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
Inhaltsverzeichnis

VBA: Nur bestimmte Tabellen auswählen

VBA: Nur bestimmte Tabellen auswählen
10.06.2015 00:45:08
Emre
Hallo,
der Code den ich habe übernimmt die Werte von allen aktuellen Tabellenblättern. Ich brauch aber nur die Werte der Tabellen 1 und 2. Wie kann ich den Code so umändern, dass es passt? Jemand eine Idee?
Dim liBlattanzahl As Integer
liBlattanzahl = ActiveWorkbook.Worksheets.Count
For liCounter = 1 To liBlattanzahl - 1
For liLinecount = 2 To Worksheets(liCounter).UsedRange.Rows.Count
For liColumncount = 1 To Worksheets(liCounter).UsedRange.Columns.Count
Worksheets(liBlattanzahl).Cells(liLinecountNew, liColumncount).Value = _
Worksheets(liCounter).Cells(liLinecount, liColumncount).Value
Worksheets(liBlattanzahl).Cells(liLinecountNew, liColumncount).Borders.Weight = _
Worksheets(liCounter).Cells(liLinecount, liColumncount).Borders.Weight
Next liColumncount
liLinecountNew = liLinecountNew + 1
Next liLinecount
Next liCounter

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA: Nur bestimmte Tabellen auswählen
10.06.2015 02:20:43
Michael
Hallo Emre,
For liCounter = 1 To 2
Woher kommt der Wert in liLinecountNew?
Schöne Grüße,
Michael

AW: VBA: Nur bestimmte Tabellen auswählen
10.06.2015 02:44:16
Emre
Hallo Michael,
das hatte ich auch schon so geändert aber geholfen hat das nicht. Es werden alle Daten in das letzte Tabellenblatt übernommen obwohl ich die Werte von Tabelle 1 und 2 in 3 brauche und 4 unberührt bleiben soll.
Also, um ehrlich zu sein weiß ich nicht woher der kommt. Ich habe den Code im Internet gefunden und ihn dann ein wenig angepasst. Habe bei liLinecountNew gedacht, dass er die Zeilen in den 2 Tabellen runter bis zum Ende zählt.
Gruß
Emre

Anzeige
hm, hm,
10.06.2015 03:12:15
Michael
Hallo Emre,
das ganze Ding holpert doch, wenn ich's ganz genau anschaue: Jede Zelle einzeln zu kopieren, kostet unnütz Zeit, aber egal.
Lad doch mal die Datei hoch, dann kann man das Ding sauber programmieren.
Schöne Grüße,
Michael

AW: hm, hm,
10.06.2015 08:48:20
Emre
Hallo Michael,
ja da hast du recht es kostet sehr viel Zeit vor allem bei der Originaldatei, denn diese ist knapp 2000 Zeilen lang. Ich lade mal die Datei hoch.
https://www.herber.de/bbs/user/98120.xlsm
Gruß
Emre

AW: hm, hm,
10.06.2015 13:51:40
Michael
Hallo Emre,
ich habe den Code etwas angepaßt. Kernstück ist, daß schlicht der usedrange kopiert wird, und zwar mit .copy: das kopiert alles, incl. Formatierung, aber eben (auch) Formeln - da scheinen aber keine vorhanden zu sein. Falls Formeln vorhanden wären, könnte man mit pastespecial arbeiten - das Forum ist voll davon.
Weiterhin kopiere ich vom 1. Blatt *alles*, incl. Überschrift (damit werden viele Codezeilen überflüssig) und ab dem zweiten alles ohne die erste Zeile: dafür sorgt das .offset: .offset(1,0) heißt: Bereich wie gehabt, aber eine Zeile tiefer. Dadurch wird eine Leerzeile unter dem Bereich mitkopiert, aber das ist ja egal. Man könnte den offset auch noch mit einem .resize kombinieren, um die Leerzeile zu unterdrücken: aber warum mehr denken, als sein muß.
Ich habe testhalber ein weiteres Blatt eingefügt, das wie gewünscht *nicht* mitkopiert wird.
Die Datei anbei: https://www.herber.de/bbs/user/98124.xlsm
Schöne Grüße,
Michael

Anzeige
AW: hm, hm,
10.06.2015 19:42:36
Emre
Hallo Michael,
tut mir leid, dass ich erst so spät antworte. Es funktioniert und ich habe den Code auch in die Originaldatei eingefügt und dort funktioniert der Code auch. Vielen Dank für deine Hilfe. Jetzt sehe ich erst wie viel Code zu viel ich genutzt habe...
Eine Frage habe ich aber dennoch. Was muss ich am Code ändern, wenn das Blatt, dass nicht kopiert werden soll am Ende ist?
Also Blatt1 + Blatt2 = Blatt3 Blatt4
Blatt4 soll nicht kopiert werden.

AW: hm, hm,
11.06.2015 01:45:32
Michael
Hi Emre,
eigentlich nur diese Zeile:
Option Explicit
Sub Uebernahme()
Dim liBlattanzahl As Integer
Dim liLinecount As Long
Dim liColumncount As Long
Dim liLinecountNew As Long
Dim liCounter As Long
'Dim lvDateCheck As Variant unbenutzt
' eigentlich nur diese Zeile:
liBlattanzahl = ActiveSheet.Index
Das bedeutet, daß liBlattanzahl auf die Nr. des gerade aktiven Blattes gesetzt wird (und das ist ja normalerweise das, in dem sich der Button befindet).
Schöne Grüße,
Michael
Anzeige

311 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige