Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1504to1508
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

Bitte um Hilfe markieren, kopieren, wiederholen

Bitte um Hilfe markieren, kopieren, wiederholen
20.07.2016 19:56:59
Michaell
Hallo zusammen
Vorweg ich bin kein Profi und habe mir das meiste VBA Wissen über Foren selbst erarbeitet. Daher verzeiht mein mögliches Unwissen ^^.
Zum Thema:
Ich habe mir vor einigen Tagen vorgenommen meinem Vater mit einem Makro das verarbeiten von einigen seiner Excel Dateien zu erleichtern. Bis her ging auch alles ganz gut voran nur henge ich jetzt schon den ganzen Tag an einer Stelle. Bis her beginnt das Makro damit, dass es ab einer Bestimmten Zelle beginnt die Zeilen zu zählen, welche mit Inhalt gefüllt sind. Nun soll es wieder zu der bestimmten Zelle zurück und in dieser Zeile alles in einer bestimmten Range kopieren und in einer anderen Exceldatei nun nicht in einer Zeile sondern einer Spalte einfügen. Danach soll es in der ersten Exceldatei quasi eine Zeile runter rutschen wieder alles in einer Range kopieren usw.. Die Zeilen habe ich vorher auszählen lassen weil ich mir gedacht habe, dass man das alles in einen Loop packt der so oft abläuft wie die Anzahl der befüllt Zeilen ist. Das ganze funktioniert aber nicht so wie ich das möchte ^^.
Ich stelle hier mal den Code in Netzt und würde mich sowohl über Verbesserungen des Codes als auch andere Vorschläge freuen. Falls etwas unverständlich war ich versuche es gerne nochmal individuell zu erklären :
Danke schon mal im Voraus an alle Helfer und Helferinnen.
Code:
Option Explicit
Dim pfad_i As String
Dim Zeilenzahl As Integer
Dim intZeile As Integer
Dim a As Integer
Public Sub zahl()
Range("B7").Select
Zeilenzahl = Selection.CurrentRegion.Rows.Count
Call kopieren()
End Sub

Public Sub kopieren()
Application.ScreenUpdating = False
a = 2
pfad_i = "C:\Beispiel.xls"
Workbooks.Open Filename:=pfad_i
Cells(7, 2).Select
For intZeile = 7 To Zeilenzahl
If Cells(intZeile, 2)  "" Then
Range(Cells(intZeile, 2), Cells(intZeile, 341)).Select
Application.CutCopyMode = False
Selection.Copy
Windows("Vorlage.xltm").Activate
Sheets("Tabelle" & a).Select
Range("K2:K341").PasteSpecial , Transpose:=True
Application.CutCopyMode = False
Workbooks("Beispiel.xls").Close savechanges:=False
Workbooks.Open Filename:=pfad_i
a = a + 1
End If
Next
Application.ScreenUpdating = True
End Sub

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Code schwer zu verstehen
20.07.2016 22:03:22
Fennek
Hallo,
nach drei mal lesen hoffe ich, dass der folgende Code einigermaßen dem entspricht, was geplant war:

Sub kopieren()
Application.ScreenUpdating = False
a = 2
pfad_i = "C:\Beispiel.xls"
Workbooks.Open Filename:=pfad_i
Zeilenzahl = cells(rows.count, "B").end(xlup).row 'letzte Zeile in Spalte B
For intZeile = 7 To Zeilenzahl
If Cells(intZeile, 2)  "" Then
Range(Cells(intZeile, 2), Cells(intZeile, 341)).Copy
Workbooks("Vorlage.xltm").Sheets("Tabelle" & a).cells(2, "K").PasteSpecial ,  _
Transpose:=True
a = a + 1
End If
Next
Application.ScreenUpdating = True
End Sub
Der Code ist ungeprüft (ich kann es ja nicht nachbauen) und zeigt vorallem, was NICHT gebraucht wird. Die Datei "Vorlage.xltm" muss geöffnet sein.
mfg
Anzeige
AW: Code schwer zu verstehen
20.07.2016 23:28:08
Michaell
Erstmal danke für die Antwort.
Kann es morgen nachprüfen. Ja die Vorlagen Datei ist natürlich offen hatte ich vergessen zu erwähnen.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige