Live-Forum - Die aktuellen Beiträge
Datum
Titel
23.04.2024 14:59:21
23.04.2024 14:47:39
23.04.2024 14:23:45
Anzeige
Archiv - Navigation
1560to1564
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
Werte von einer Tabelle in die andere
12.06.2017 12:40:15
einer
Moin alle zusammen,
ich möchte gerne die Werte in den farblich markierten Spalten in der Tabelle Plandaten per Button in die Tabelle Realdaten übertragen. Alle Spalten sind farblich markiert.
Der Button befindet sich in der Tabelle Simulation. Anbei die Beispieldatei
https://www.herber.de/bbs/user/114208.xlsm
Vielen Dank für eure Mühe
Viele Grüße
Christian

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Werte von einer Tabelle in die andere
12.06.2017 13:28:21
einer
Hallo,
kann man zum Beispiel so machen:
Sub daten_uebertragen()
Dim ws_1 As Worksheet, ws_2 As Worksheet
Dim rng As Range
Dim lRow As Long
Dim i As Long
Set ws_1 = ThisWorkbook.Sheets("Plandaten")
Set ws_2 = ThisWorkbook.Sheets("Realdaten")
With ws_1
i = 5
Do
lRow_1 = .Cells(.Rows.Count, i).End(xlUp).Row
Set rng = .Range(.Cells(2, i), .Cells(lRow_1, i))
rng.Copy
With ws_2
.Cells(2, i).PasteSpecial Paste:=xlPasteAll
.Cells(2, i).PasteSpecial Paste:=xlPasteFormats
End With
Application.CutCopyMode = False
i = i + 4
Loop Until i > 21
End With
End Sub

Anzeige
AW: Werte von einer Tabelle in die andere
12.06.2017 13:51:42
einer
Leider wird bei der Formel nur eine Spalte in Tabelle Realdaten übertragen und zwar die mit CF-Start, zudem werden die Werte nicht in den gewünschten Spalten übertragen sondern versetzt.
Beispieldatei mit verwendeten Code
https://www.herber.de/bbs/user/114213.xlsm
Alte Beispieldatei
https://www.herber.de/bbs/user/114214.xlsm
Viele Grüße
Christian
AW: Werte von einer Tabelle in die andere
12.06.2017 14:11:34
einer
Hallo,
Dieser Code versetzt es nicht mehr:
Private Sub CommandButton21_Click()
Dim ws_1 As Worksheet, ws_2 As Worksheet
Dim rng As Range
Dim lRow_1 As Long
Dim i As Long, j As Long
Set ws_1 = ThisWorkbook.Sheets("Plandaten")
Set ws_2 = ThisWorkbook.Sheets("Realdaten")
With ws_1
i = 5
j = 5
Do
lRow_1 = .Cells(.Rows.Count, i).End(xlUp).Row
Set rng = .Range(.Cells(2, i), .Cells(lRow_1, i))
rng.Copy
With ws_2
.Cells(2, j).PasteSpecial Paste:=xlPasteAll
.Cells(2, j).PasteSpecial Paste:=xlPasteFormats
End With
Application.CutCopyMode = False
i = i + 4
j = j + 3
Loop Until i > 21
End With
End Sub
Lösche mal deine Alten Daten aus dem Sheet Realdaten, oder lass den Debugger laufen... der Code kopiert alles und nicht nur eine Spalte.
Anzeige
AW: Werte von einer Tabelle in die andere
12.06.2017 14:28:55
einer
In Tabelle Realdaten wird Spalte H ebenfalls verändert und nimmt den Wert von CF-Start an. Das gleiche in Spalte N, die Spalte darf auch nicht verändert werden.
Ich habe die Werte vor dem ausführen des Makros manuell zurückgesetzt.
In Tabelle Realdaten sollen nur die Spalten F, I, L, O und R verändert werden.
https://www.herber.de/bbs/user/114215.xlsm
Viele Grüße
Christian
AW: Werte von einer Tabelle in die andere
12.06.2017 15:15:57
einer
Hallo,
Private Sub CommandButton21_Click()
Dim ws As Worksheet, ws2 As Worksheet
Dim rng As Range
Dim j As Long, i As Long
Dim cRow As Long, cCol As Long
Dim sName As String
Set ws = ThisWorkbook.Sheets("Plandaten")
Set ws2 = ThisWorkbook.Sheets("Realdaten")
With ws
j = 5
Do
sName = .Cells(1, j).Value
cRow = .Cells(.Rows.Count, j).End(xlUp).Row
Set rng = .Range(.Cells(2, j), .Cells(cRow, j))
rng.Copy
With ws2
cCol = .Cells(1, .Columns.Count).End(xlToLeft).Column
For i = 1 To cCol
If .Cells(1, i).Value = sName Then
.Cells(2, i).PasteSpecial Paste:=xlPasteAll
.Cells(2, i).PasteSpecial Paste:=xlPasteFormats
Exit For
End If
Next i
End With
j = j + 4
Loop Until j > cCol
End With
End Sub

Anzeige
AW: Werte von einer Tabelle in die andere
12.06.2017 15:51:05
einer
Sieht schon sehr gut aus und vielen Dank für deine Mühe Max2. Nur noch eine Kleinigkeit :) Die letzte Spalte in Tabelle Realdaten also CF-5 wird nicht mit angepasst.
https://www.herber.de/bbs/user/114219.xlsm
Viele Grüße
Christian
Mein Fehler
12.06.2017 16:31:12
Max2
Hallo,
mein Fehler, tut mir leid.
So sollte es Funktionieren:
Private Sub CommandButton21_Click()
Dim ws As Worksheet, ws2 As Worksheet
Dim rng As Range
Dim j As Long, i As Long
Dim cRow As Long, cCol As Long
Dim cCol2 As Long
Dim sName As String
Set ws = ThisWorkbook.Sheets("Plandaten")
Set ws2 = ThisWorkbook.Sheets("Realdaten")
With ws
j = 5
Do
sName = .Cells(1, j).Value
cRow = .Cells(.Rows.Count, j).End(xlUp).Row
cCol2 = .Cells(1, .Columns.Count).End(xlToLeft).Column
Set rng = .Range(.Cells(2, j), .Cells(cRow, j))
rng.Copy
With ws2
cCol = .Cells(1, .Columns.Count).End(xlToLeft).Column
For i = 1 To cCol
If .Cells(1, i).Value = sName Then
.Cells(2, i).PasteSpecial Paste:=xlPasteAll
.Cells(2, i).PasteSpecial Paste:=xlPasteFormats
Exit For
End If
Next i
End With
j = j + 4
Loop Until j > cCol2
End With
End Sub

Anzeige
AW: Mein Fehler
12.06.2017 16:42:42
Christian
hmm... in meiner Beispieldatei läuft der Code wunderbar durch. Aber in meiner Originaldatei löscht er in der Tabelle Realdaten die Spalte H komplett und füllt Sie auch nicht wieder mit neuen Werten. Die Tabellenstruktur ist gleich.
Es wird quasi der Formelbezug gelöscht (siehe Bild)
Userbild
AW: Mein Fehler
12.06.2017 16:50:11
Max2
Hallo,
versuche mal dem "If" das fett markierte hinzu zu fügen:
                    If .Cells(1, i).Value = sName Then
.Cells(2, i).PasteSpecial Paste:=xlPasteAll
.Cells(2, i).PasteSpecial Paste:=xlPasteFormats
.Cells(2, i).PasteSpecial Paste:=xlPasteFormulas
Exit For
End If
Klappt es dann?
Anzeige
AW: Mein Fehler
12.06.2017 16:56:06
Christian
Vielen Dank für deinen Einsatz aber das hat leider nichts verändert.
So sieht es im Moment bei mir aus

Sub Commandbutton_Reset_1_Click()
Dim ws As Worksheet, ws2 As Worksheet
Dim rng As Range
Dim j As Long, i As Long
Dim cRow As Long, cCol As Long
Dim cCol2 As Long
Dim sName As String
Set ws = ThisWorkbook.Sheets("Plandaten")
Set ws2 = ThisWorkbook.Sheets("Realdaten")
With ws
j = 5
Do
sName = .Cells(1, j).Value
cRow = .Cells(.Rows.Count, j).End(xlUp).Row
cCol2 = .Cells(1, .Columns.Count).End(xlToLeft).Column
Set rng = .Range(.Cells(2, j), .Cells(cRow, j))
rng.Copy
With ws2
cCol = .Cells(1, .Columns.Count).End(xlToLeft).Column
For i = 1 To cCol
If .Cells(1, i).Value = sName Then
.Cells(2, i).PasteSpecial Paste:=xlPasteAll
.Cells(2, i).PasteSpecial Paste:=xlPasteFormats
.Cells(2, i).PasteSpecial Paste:=xlPasteFormulas
Exit For
End If
Next i
End With
j = j + 4
Loop Until j > cCol2
End With
End Sub

Anzeige
AW: Werte von einer Tabelle in die andere
12.06.2017 14:15:47
einer
Hallo Christian,
probier mal folgenden Code.
Denn Code dem Button hinterlegen.
Dim sp As Long, i As Long, strcopyanfang As String, strcopyende As String
sp = Sheets("Plandaten").Cells(1, Columns.Count).End(xlToLeft).Column
For i = 1 To sp
If Sheets("Plandaten").Cells(1, i).Interior.Pattern xlNone Then
strcopyanfang = Sheets("Plandaten").Cells(1, i).Address
strcopyende = Sheets("Plandaten").Cells(Rows.Count, i).End(xlUp).Address
Worksheets("Plandaten").Range(strcopyanfang + ":" + strcopyende).Copy _
Destination:=Worksheets("Realdaten").Range(Sheets("Realdaten").Cells(1, i).Address)
End If
Next i
Viele Grüße
Peter (hpo)
Anzeige
AW: Werte von einer Tabelle in die andere
12.06.2017 14:40:55
einer
Hier das gleiche Problem.
Die Spalten in Tabelle Plandaten unterscheiden sich von den Spalten in Tabelle Realdaten. Hier das gleiche, Werte werden versetzt übertragen.
https://www.herber.de/bbs/user/114218.xlsm
Aber vielen Dank an euch alle für eure Mühe
Viele Grüße
Christian

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige