Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1500to1504
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
Von - Bis Werte über VBA ausschreiben lassen
06.07.2016 08:47:53
Christian
Hallo zusammen
Ich habe folgendes Problem:
Ich möchte Inhalte Von - Bis aus einen Tabellenblatt in ein Tabellenblatt nach Artikel schreiben lassen.
Zuerst prüfen ob in Spalte F ein Eintrag "Ja" vorhanden ist. Falls dem so ist nichts machen. Ansonsten:
In Spalte A des Tabellenblatt Temporäre Liste steht der Artikel, z.B. A, dann soll die Spalte D (Von Wert Bsp. 1) und E (Bis Wert Bsp. 20) in das Tabellenblatt A ausgeführt übertragen werden.
Sprich
1
2
3
4
...
20
Im Tabellenblatt Temporäre Liste soll nach dem Übertrag in Spalte F Daten übertragen der Vermerk ja eingetragen werden.
Bei der nächsten Ausführung des Makros sollen dann nur die Daten übertragen werden, bei denen noch kein Ja Eintrag vorhanden ist.
Beispieldatei: https://www.herber.de/bbs/user/106789.xlsx
Folgenden Code habe ich leider nicht zum Laufen gebracht:
Private Sub CommandButton1_Click()
Dim s1 As Worksheet
Dim y1 As Long
Dim s2 As Worksheet
Dim y2 As Long
Dim strArtikel As String
Dim intVon As Integer
Dim intBis As Integer
Dim strBlatt As String
Dim n As Integer
Set s1 = ActiveSheet
y1 = 1 'Evtl. Zeilennummer anpassen !!!
strArtikel = s1.Cells(y1, 1).Value
If (strArtikel  "") Then
intVon = s1.Cells(y1, 4).Value
intBis = s1.Cells(y1, 5).Value
If (intBis > intVon) Then
strBlatt = Right$(strArtikel, 4)
Set s2 = Worksheets(strBlatt)
y2 = s2.Cells(s2.Rows.Count, 1).End(xlUp).Row
For n = intVon To intBis
y2 = y2 + 1
s2.Cells(y2, 1).Value = n
Next n
s1.Cells(y1, 8).Value = "ja"
s2.Activate: s2.Cells(y2, 1).Activate
End If
End If
End Sub

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Von - Bis Werte über VBA ausschreiben lassen
06.07.2016 09:43:18
baschti007
Soo ?

Sub Blaaaaa()
Dim s1 As Worksheet
Dim y1 As Long
Dim s2 As Worksheet
Dim y2 As Long
Dim strArtikel As String
Dim intVon As String
Dim intBis As String
Dim strBlatt As String
Dim n As Integer
Dim i As Long
Set s1 = Sheets("Temporäre Liste")
y1 = 3 'Evtl. Zeilennummer anpassen !!!
y12 = s1.Cells(s1.Rows.Count, 1).End(xlUp).Row
For i = y1 To y12
If s1.Cells(i, 6).Value = "ja" Then
strArtikel = s1.Cells(i, 1).Value
If (strArtikel  "") Then
intVon = s1.Cells(i, 4).Value
intBis = s1.Cells(i, 5).Value
If (intBis > intVon) Then
strBlatt = Right$(strArtikel, 4)
Set s2 = Worksheets(strBlatt)
y2 = s2.Cells(s2.Rows.Count, 1).End(xlUp).Row
For n = intVon To intBis
y2 = y2 + 1
s2.Cells(y2, 1).Value = n
Next n
s1.Cells(i, 8).Value = "ja"
s2.Activate: s2.Cells(y2, 1).Activate
End If
End If
End If
Next i
End Sub

Gruß Basti

Anzeige
AW: Von - Bis Werte über VBA ausschreiben lassen
06.07.2016 10:20:18
Christian
Genial! Danke vielmals!

Kein Problem =)
06.07.2016 12:30:03
baschti007
Kein Problem =)

AW: Kein Problem =)
06.07.2016 13:41:52
Christian
Ein Problem ist gleichwohl noch aufgetaucht, es kann es geben, dass der Von und Bis Wert identisch sind. In diesem Fall müsste einfach dieser Wert übertragen werden. Momentan wird der Wert nicht bearbeitet sofern Von und Bis identisch sind.
Besten Dank zur Hilfe damit auch dieses Problem gelöst werden kann. Anschliessend bin ich total happy! ;-)

AW: Kein Problem =)
06.07.2016 16:08:38
Bastian
Das = hinter Größer als einfügen ;)

If (intBis >= intVon) Then

AW: Kein Problem =)
07.07.2016 07:13:27
Christian
Manchmal bin ich zu doof! Danke auf alle Fälle!
Anzeige

308 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige