Anzeige
Archiv - Navigation
1684to1688
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

Zellen aus Bereich nacheinander auf neuen Sheet

Zellen aus Bereich nacheinander auf neuen Sheet
15.04.2019 18:41:44
Busch
Hallo!
Ich bin Anfänger was Excel VBA angeht und brauche eure Hilfe.
Ich haben einen Zellenbereich von L14:L21 und möchte die darin stehenden Werte auf ein anderen _ Sheet kopieren. Hierbei soll nur soviel kopiert werden wie in L14:L21 steht. Die Werte verändern sich nach jedem Kopiervorgang und es sind nicht immer alle Zellen ausgefüllt. Das Kopieren soll in eine bestimmte Spalte auf dem zweiten Sheet erfolgen und zwar immer untereinander sodass bei jedem Kopiervorgang die Werte untereinander eingetragen werden. Bisher werden die kopierten Daten nur ersetzt und nicht untereiander eingetragen. Ich kriege die Suche nach der freien Zelle nicht in mein Makro eingefügt. Kann mir jemand helfen? Bisher sieht es so aus.

Sub KopierenGewichtungen()
Dim mySheet As Worksheet, myOtherSheet As Worksheet, myBook As Workbook 'Defintion des  _
Arbeitsblatts und der Arbeitsmappe
Set myBook = Excel.ActiveWorkbook
Set mySheet = myBook.Sheets("Startseite")
Set myOtherSheet = myBook.Sheets("Gewichtungen")
Dim i As Integer, j As Integer 'Definition der Laufvariablen als Integer
j = 2  ' Variable die angibt, in welcher Zeile wir auf dem Arbeitsblatt "Gewichtungen" starten
For i = 14 To 21  ' Start des Loops welcher von 14 bis 21 zählt
If mySheet.Cells(i, 12).Value  "" Then 'für jede Ziffer, prüfen ob Zelle leer.
myOtherSheet.Cells(j, 4).Value = mySheet.Cells(i, 12).Value 'Kopieren der Werte zur  _
Zelle auf Gewichtungen in der Zeile gemäß "j" Variable
Else 'Wenn Zelle leer dann
myOtherSheet.Cells(j, 4).Value = "" 'Wenn Zelle leer dann ""
End If
j = j + 1
Next i 'Ende des Loops und zum nächsten i
End Sub

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zellen aus Bereich nacheinander auf neuen Sheet
15.04.2019 18:51:29
cysu11
Hi Busch,
ungetestet:
Sub KopierenGewichtungen()
Dim mySheet As Worksheet, myOtherSheet As Worksheet, myBook As Workbook 'Defintion des _
Arbeitsblatts und der Arbeitsmappe
Set myBook = Excel.ActiveWorkbook
Set mySheet = myBook.Sheets("Startseite")
Set myOtherSheet = myBook.Sheets("Gewichtungen")
Dim i As Integer, j As Integer 'Definition der Laufvariablen als Integer
'j = 2  ' Variable die angibt, in welcher Zeile wir auf dem Arbeitsblatt "Gewichtungen"  _
starten
For i = 14 To 21  ' Start des Loops welcher von 14 bis 21 z?hlt
If mySheet.Cells(i, 12).Value  "" Then 'f?r jede Ziffer, pr?fen ob Zelle leer.
myOtherSheet.Cells(Rows.Count + 1, 4).Value = mySheet.Cells(i, 12).Value 'Kopieren der  _
Werte zur _
Zelle auf Gewichtungen in der Zeile gem? "j" Variable
Else 'Wenn Zelle leer dann
myOtherSheet.Cells(Rows.Count + 1, 4).Value = "" 'Wenn Zelle leer dann ""
End If
'j = j + 1
Next i 'Ende des Loops und zum n?chsten i
End Sub
LG
Alexandra
Anzeige
AW: Zellen aus Bereich nacheinander auf neuen Sheet
15.04.2019 18:58:55
Busch
Hallo Alexandra,
vielen Dank erstmal für deine Hilfe. Leider bekomme ich jetzt einen Laufzeitfehler.
Hast du eine andere Idee?
Grüße Felix
AW: Zellen aus Bereich nacheinander auf neuen Sheet
15.04.2019 19:00:18
cysu11
Hi Felix,
lade bitte deine Beispieldate hoch, dann gucken wir mal!
LG
Alexandra
AW: Zellen aus Bereich nacheinander auf neuen Sheet
15.04.2019 19:03:33
onur
Und gewöhne dir bitte ab, zu schreiben: "Leider bekomme ich jetzt einen Laufzeitfehler." - Ohne konkrete Angaben (WO GENAU und WELCHEN) bringt diese Aussage so gut wie gar nix.
AW: Zellen aus Bereich nacheinander auf neuen Sheet
15.04.2019 19:22:18
cysu11
Hi Felix,
dann so:
Option Explicit
Sub KopierenGewichtungen()
Dim lz As Long
Dim mySheet As Worksheet, myOtherSheet As Worksheet, myBook As Workbook 'Defintion des _
Arbeitsblatts und der Arbeitsmappe
Set myBook = Excel.ActiveWorkbook
Set mySheet = myBook.Sheets("Startseite")
Set myOtherSheet = myBook.Sheets("Gewichtungen")
Dim i As Integer, j As Integer 'Definition der Laufvariablen als Integer
'j = 2  ' Variable die angibt, in welcher Zeile wir auf dem Arbeitsblatt "Gewichtungen" _
starten
For i = 14 To 21  ' Start des Loops welcher von 14 bis 21 z?hlt
If mySheet.Cells(i, 12).Value  "" Then 'f?r jede Ziffer, pr?fen ob Zelle leer.
lz = myOtherSheet.Cells(Rows.Count, 4).End(xlUp).Row + 1
myOtherSheet.Cells(lz, 4).Value = mySheet.Cells(i, 12).Value 'Kopieren der _
Werte zur _
Zelle auf Gewichtungen in der Zeile gem? "j" Variable
'      Else 'Wenn Zelle leer dann
'         myOtherSheet.Cells(lz, 4).Value = "" 'Wenn Zelle leer dann ""
End If
'j = j + 1
Next i 'Ende des Loops und zum n?chsten i
End Sub
LG
Alexandra
Anzeige
AW: Zellen aus Bereich nacheinander auf neuen Sheet
15.04.2019 19:58:14
Busch
Danke Alexandra.
Leider kopiert er wenn bspw. werte eingetragen sind nur 2 rüber. Den letzten Wert der Auswahl ignoriert er. Das untereinander einfügen klappt aber wunderbar
AW: Zellen aus Bereich nacheinander auf neuen Sheet
15.04.2019 20:09:45
Busch
Fällt dir da was aus? Woran das liegen könnte? Bei 4 Einträgen kopiert er 3. Bei 3 2 usw. Dann hätte ich es nämlich endlich.... Danke!
AW: Zellen aus Bereich nacheinander auf neuen Sheet
15.04.2019 20:20:17
Busch
Oh Gott. Ich bin ein Trottel. Ich hab gedacht die Kommentierung einiger Dinge wäre durch das Format hier drin gekommen. Aber das war so gewollt. Ich bitte vielmals um Entschuldigung. Es klappt wunderbar.
Eine Frage wäre mir dann doch noch gekommen.
Das ganze soll so aussehen das ich insgesamt in 4 Spalten etwas kopieren lasse. Hierbei soll der gerade beschriebene Vorgang jedoch die Basis dafür bieten wo beim nächsten Kopieren in den anderen Spalten eingefügt werden soll.
Also bspw.: Ich habe hier 5 Werte in die 4. Spalte eingefüllt. In der 1. Spalte aber nur einen. Beim nächsten Kopieren soll in Spalte 1 der Wert aber in die Zeile seiner Spalte eingefüllt werden wo in Spalte 4 die nächste Zeile frei wird. Heißt nächste FreieZeile in 4 soll auch Basis für Zeile in Spalte 1 sein.
Ist das sehr komplex oder leicht machbar?
Trotzdem schonmal vielen Dank!
Anzeige
AW: Zellen aus Bereich nacheinander auf neuen Sheet
15.04.2019 22:59:35
cysu11
Hi,
verstehe ich nicht ganz, lade nochmals deine Datei hoch mit dem Wunschergebnissen!
LG
Alexandra
AW: Zellen aus Bereich nacheinander auf neuen Sheet
16.04.2019 10:57:44
Busch
Hi Alexandra,
ich habe mal die zweite so angepasst wie es nach dem kopieren aussehen soll. Die 2 linken Spalten sollen sich eben an dem letzten Wert der 2 Rechten orientieren, weil die immer die maximale Kopiermenge definieren...
Danke! Grüße
https://www.herber.de/bbs/user/129181.xlsm
AW: Zellen aus Bereich nacheinander auf neuen Sheet
16.04.2019 15:53:33
cysu11
Hi,
also ich habe mir das jetzt 10x durchgelesen und ich verstehe einfach nicht was du willst! :)
Lade nochmals deine Datei hoch und markiere farblich was von wo nach wo kopiert werden soll und schreibe Kommentare dazu, damit das verständlich ist was du willst!
LG
Alexandra
Anzeige
AW: Zellen aus Bereich nacheinander auf neuen Sheet
16.04.2019 15:58:36
cysu11
Hi,
also ich habe mir das jetzt 10x durchgelesen und ich verstehe einfach nicht was du willst! :)
Lade nochmals deine Datei hoch und markiere farblich was von wo nach wo kopiert werden soll und schreibe Kommentare dazu, damit das verständlich ist was du willst!
LG
Alexandra

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige