Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Kopieren von einzelnen Zellen in die nächste freie Zeile in einer anderen Tabelle
#1
hallo  allerseits in die runde! 
Ich beschäftige mich gerade mit dem kopieren von angaben einzelner Zellen, von einer Tabelle(Tabelle2) in eine andere Tabelle(Tabelle1).
und suche dafür hier Anregungen zur Umsetzung !Ich habe mir auch schon die Werse tutorielles angeschaut  

Die angaben sollen in die Nässte Freie Zeile kopiert werden  und  die zellbreite in der Ziel- Tabelle  sich automatisch an den Zell Inhalt anpassen . Sind die angaben dann kopiert sollen dann die Zellen in der Ursprungs mappe gelehrt werden für die Nässten eingaben - und so weiter !



(Tabelle2!B21) zu Tabelle1 in (Spalte! B3:B)
(Tabelle2!D21) zu Tabelle1 in (Spalte! C3:C)
(Tabelle2!B24) zu Tabelle1 in (Spalte! D3:D)
(Tabelle2!B27) zu Tabelle1 in (Spalte! A3:A)
(Tabelle2!B32) zu Tabelle1 in (Spalte! F3:F)
(Tabelle2!B35) zu Tabelle1 in (Spalte! G3:G)
(Tabelle2!B38) zu Tabelle1 in (Spalte! H3H)

Ich hoffe ich konnte es einigermaßen verständlich erklären .05


Angehängte Dateien
.xlsm   ListView laden mit Fohrum.xlsm (Größe: 75,88 KB / Downloads: 6)
Antworten Top
#2
(14.08.2022, 11:54)k-siebke schrieb: hallo  allerseits in die runde! 
Ich beschäftige mich gerade mit dem kopieren von angaben einzelner Zellen, von einer Tabelle(Tabelle2) in eine andere Tabelle(Tabelle1).
und suche dafür hier Anregungen zur Umsetzung !Ich habe mir auch schon die Werse tutorielles angeschaut  

Die angaben sollen in die Nässte Freie Zeile kopiert werden  und  die zellbreite in der Ziel- Tabelle  sich automatisch an den Zell Inhalt anpassen . Sind die angaben dann kopiert sollen dann die Zellen in der Ursprungs mappe gelehrt werden für die Nässten eingaben - und so weiter !



(Tabelle2!B21) zu Tabelle1 in (Spalte! B3:B)
(Tabelle2!D21) zu Tabelle1 in (Spalte! C3:C)
(Tabelle2!B24) zu Tabelle1 in (Spalte! D3:D)
(Tabelle2!B27) zu Tabelle1 in (Spalte! A3:A)
(Tabelle2!B32) zu Tabelle1 in (Spalte! F3:F)
(Tabelle2!B35) zu Tabelle1 in (Spalte! G3:G)
(Tabelle2!B38) zu Tabelle1 in (Spalte! H3H)

Ich hoffe ich konnte es einigermaßen verständlich erklären .05

Sorry hab vergessen zu sagen das ich mittels VBA kopieren will
Antworten Top
#3
Prinzipiell funktioniert es so

Sub Uebertragen()

    Dim wsQ As Worksheet
    Set wsQ = ThisWorkbook.Sheets("Tabelle2")
   
    Dim wsZ As Worksheet
    Set wsZ = ThisWorkbook.Sheets("Tabelle1")
   
    Dim lRowZ As Long
    lRowZ = wsZ.Cells(Rows.Count, 9).End(xlUp).Row
   
    With wsZ
        .Cells(lRowZ, 1) = wsQ.Cells(27, 2)
        .Cells(lRowZ, 2) = wsQ.Cells(21, 2)
        .Cells(lRowZ, 3) = wsQ.Cells(21, 4)
        .Cells(lRowZ, 4) = wsQ.Cells(34, 2)
        .Cells(lRowZ, 6) = wsQ.Cells(32, 2)
        .Cells(lRowZ, 7) = wsQ.Cells(35, 2)
        .Cells(lRowZ, 8) = wsQ.Cells(38, 2)
    End With
   
End Sub
[-] Folgende(r) 1 Nutzer sagt Danke an Pawelpopolski für diesen Beitrag:
  • k-siebke
Antworten Top
#4
danke ich werde   mal deine Version ausprobieren! Inzwischen war ich nicht untätig und habe mich selbst daran versucht, Leider ohne Erfolg  

Code:
Sub KlärfallTabelle()

Worksheets("Eingabemaske").Select
Bemerkung = Range("B27")
SKU(Kisoft) = Range("B21")
SKU EAN(HandScanner) = Range("D21")
ArtMg = Range("B24")
1 Klärfall = Range("B32")
2 Klärfall = Range("B35")
Kommentarfeld KL = Range("B38")

Worksheets("Klärfall_Tabelle").Select
Worksheets("Klärfall_Tabelle").Range("A2").Select
If Worksheets("Klärfall_Tabelle").Range("A2").Offset(1, 0) <> "" Then
Worksheets("Klärfall_Tabelle").Range("A2").End(xlDown).Select
End If

ActiveCell.Offset(1, 0).Select
ActiveCell.Value = Bemerkung
ActiveCell.Offset(1, 0).Select
ActiveCell.Value = SKU
ActiveCell.Offset(1, 0).Select
ActiveCell.Value = SKU / EAN
ActiveCell.Offset(1, 0).Select
ActiveCell.Value = SpalteA
ActiveCell.Offset(1, 0).Select
ActiveCell.Value = ErsterKlärfall
ActiveCell.Offset(1, 0).Select
ActiveCell.Value = ZweiterKlärfall
ActiveCell.Offset(1, 0).Select
ActiveCell.Value = Kommentarfeld_KL

End Sub

(14.08.2022, 15:13)Pawelpopolski schrieb: Prinzipiell funktioniert es so

Sub Uebertragen()

    Dim wsQ As Worksheet
    Set wsQ = ThisWorkbook.Sheets("Tabelle2")
   
    Dim wsZ As Worksheet
    Set wsZ = ThisWorkbook.Sheets("Tabelle1")
   
    Dim lRowZ As Long
    lRowZ = wsZ.Cells(Rows.Count, 9).End(xlUp).Row
   
    With wsZ
        .Cells(lRowZ, 1) = wsQ.Cells(27, 2)
        .Cells(lRowZ, 2) = wsQ.Cells(21, 2)
        .Cells(lRowZ, 3) = wsQ.Cells(21, 4)
        .Cells(lRowZ, 4) = wsQ.Cells(34, 2)
        .Cells(lRowZ, 6) = wsQ.Cells(32, 2)
        .Cells(lRowZ, 7) = wsQ.Cells(35, 2)
        .Cells(lRowZ, 8) = wsQ.Cells(38, 2)
    End With
   
End Sub
funst leider nicht deine Version, warum auch immer !
Antworten Top
#5
Hallo,

da unklar ist, ob die letzte Zeile der jeweiligen Zielspalte immer gleich oder unterschiedlich ist, beide möglichen Lösungswege:

Code:
Sub KlaerfaelleUebergeben()
    Dim i As Long
   
' unter der Voraussetzung dass die letzte Zeile in allen Spalten die
' selbe ist, reicht diese Schleife
    With Tabelle1
        For i = 3 To .Cells(Rows.Count, 2).End(xlUp).Row
            .Cells(i, 2) = Tabelle2.Cells(21, 2)     'Tabelle2 Range "B21" zu Tabelle1 in Range B3:B
            .Cells(i, 3) = Tabelle2.Cells(21, 4)     'Tabelle2 Range "D21" zu Tabelle1 in Range C3:C
            ' u.s.w
        Next i
    End With
End Sub

Sub KlaerfaelleUebergeben1()
    Dim i As Long
   
' unter der Voraussetzung dass die letzte Zeile in allen Spalten eine
' andere ist, braucht es mehrere Schleifen
    With Tabelle1
        For i = 3 To .Cells(Rows.Count, 2).End(xlUp).Row
             .Cells(i, 2) = Tabelle2.Cells(21, 2)    'Tabelle2 Range "B21" zu Tabelle1 in Range B3:B
        Next i
       
        For i = 3 To .Cells(Rows.Count, 4).End(xlUp).Row
             .Cells(i, 3) = Tabelle2.Cells(21, 4)    'Tabelle2 Range "D21" zu Tabelle1 in Range C3:C
        Next i
        ' u.s.w.
    End With
End Sub

Gruß Uwe
[-] Folgende(r) 1 Nutzer sagt Danke an Egon12 für diesen Beitrag:
  • k-siebke
Antworten Top
#6
(14.08.2022, 19:22)Egon12 schrieb: Hallo,

da unklar ist, ob die letzte Zeile der jeweiligen Zielspalte immer gleich oder unterschiedlich ist, beide möglichen Lösungswege:

Code:
Sub KlaerfaelleUebergeben()
    Dim i As Long
   
' unter der Voraussetzung dass die letzte Zeile in allen Spalten die
' selbe ist, reicht diese Schleife
    With Tabelle1
        For i = 3 To .Cells(Rows.Count, 2).End(xlUp).Row
            .Cells(i, 2) = Tabelle2.Cells(21, 2)     'Tabelle2 Range "B21" zu Tabelle1 in Range B3:B
            .Cells(i, 3) = Tabelle2.Cells(21, 4)     'Tabelle2 Range "D21" zu Tabelle1 in Range C3:C
            ' u.s.w
        Next i
    End With
End Sub

Sub KlaerfaelleUebergeben1()
    Dim i As Long
   
' unter der Voraussetzung dass die letzte Zeile in allen Spalten eine
' andere ist, braucht es mehrere Schleifen
    With Tabelle1
        For i = 3 To .Cells(Rows.Count, 2).End(xlUp).Row
             .Cells(i, 2) = Tabelle2.Cells(21, 2)    'Tabelle2 Range "B21" zu Tabelle1 in Range B3:B
        Next i
       
        For i = 3 To .Cells(Rows.Count, 4).End(xlUp).Row
             .Cells(i, 3) = Tabelle2.Cells(21, 4)    'Tabelle2 Range "D21" zu Tabelle1 in Range C3:C
        Next i
        ' u.s.w.
    End With
End Sub

Gruß Uwe Irgendwie verstehe ich deine Frage nicht nicht ganz? 
Es ist so das jede einzelne  Eingabe Zelle in meiner Tabelle2(Eingabe Formula )eine Feste zugewiesen Spalte hatte in tabelle1 so wie ich es am Anfang zu Eröffnung meines Trayts beschrieben hatte 
 
 Zelle(Tabele2) =  Spalte(Tapelle1)

(Tabelle2!= Zelle B21) zu Tabelle1 in (Spalte! B3:B)
(Tabelle2!= Zelle D21) zu Tabelle1 in (Spalte! C3:C)
(Tabelle2!= Zelle B24) zu Tabelle1 in (Spalte! D3:D)
(Tabelle2!= Zelle B27) zu Tabelle1 in (Spalte! A3:A)
(Tabelle2!= Zelle B32) zu Tabelle1 in (Spalte! F3:F)
(Tabelle2!= Zelle B35) zu Tabelle1 in (Spalte! G3:G)
(Tabelle2!= Zelle B38) zu Tabelle1 in (Spalte! H3H)

anders wüste ich es nicht wie ich es noch formulieren könnte  19

(14.08.2022, 19:22)Egon12 schrieb: Hallo,

da unklar ist, ob die letzte Zeile der jeweiligen Zielspalte immer gleich oder unterschiedlich ist, beide möglichen Lösungswege:

Code:
Sub KlaerfaelleUebergeben()
    Dim i As Long
   
' unter der Voraussetzung dass die letzte Zeile in allen Spalten die
' selbe ist, reicht diese Schleife
    With Tabelle1
        For i = 3 To .Cells(Rows.Count, 2).End(xlUp).Row
            .Cells(i, 2) = Tabelle2.Cells(21, 2)     'Tabelle2 Range "B21" zu Tabelle1 in Range B3:B
            .Cells(i, 3) = Tabelle2.Cells(21, 4)     'Tabelle2 Range "D21" zu Tabelle1 in Range C3:C
            ' u.s.w
        Next i
    End With
End Sub

Sub KlaerfaelleUebergeben1()
    Dim i As Long
   
' unter der Voraussetzung dass die letzte Zeile in allen Spalten eine
' andere ist, braucht es mehrere Schleifen
    With Tabelle1
        For i = 3 To .Cells(Rows.Count, 2).End(xlUp).Row
             .Cells(i, 2) = Tabelle2.Cells(21, 2)    'Tabelle2 Range "B21" zu Tabelle1 in Range B3:B
        Next i
       
        For i = 3 To .Cells(Rows.Count, 4).End(xlUp).Row
             .Cells(i, 3) = Tabelle2.Cells(21, 4)    'Tabelle2 Range "D21" zu Tabelle1 in Range C3:C
        Next i
        ' u.s.w.
    End With
End Sub

Gruß Uwe

Deine Version zeigt bei mir eine Fehlermeldung(Gelb) an  und sagt "Objekt erforderlich"
Antworten Top
#7
Hallo,

Tabelle2!= Zelle B21 --> korrekte Schreibweise: =Tabelle2!B21 ist eine Formel. Diese steht in einer Zelle!!
Damit fangen also die Unklarheiten an. Was soll da einer draus entnehmen.
Und "zu Tabelle1 in (Spalte! B3:B)"  hinten dran, weiß keiner was du uns damit sagen willst.

Beschreibe dein Problem z.B. so:

Ich trage in Tabelle2 (Modulname des Tabellenblattes) in Zelle/Range "B21" einen Wert ein und Dieser soll in Tabelle1 (Modulname des Tabellenblattes) in Spalte B ab Zeile 3 bis letzte Zeile in diese Zellen eingetragen werden. Da hast du recht schnell klare Antworten drauf die garantiert zu treffen.

Was ich jetzt befürchte ist, dass es sich aber nicht um Tabellenblätter und deren Modulnamen dreht, sondern um dynamische (formatierte) Tabellen - also .ListObjects.
Da braucht es am besten eine Beispieldatei mit den jeweiligen Tabellen und klaren Aussagen wo die Formeln hinsollen und wie die Eingangswerte mit dem erwünschten Ergebnis im Verhältnis stehen sollen.
Also ein paar Eingangswerte in die Ausgangstabelle und ein paar dazugehörige Ergebnisse in die Zieltabelle. Da kann dann auch jemand die Formeln dazu stricken.

Weil ich es gerade noch gesehen habe was du noch hinten dran ergänzt hast. Der Fehler liegt nicht in den beiden Prozeduren. Die funktionieren so wie ich es dir rein geschrieben habe. Da liegt das Problem wo anders. 

Gruß Uwe
[-] Folgende(r) 1 Nutzer sagt Danke an Egon12 für diesen Beitrag:
  • k-siebke
Antworten Top
#8
Ok danke für deine Kritik! leider bin ich kein sehr guter erklär Bär und hab versucht so gut es gut zu erklären
Antworten Top
#9
Moin KeinErklärBär Wink

im Anhang findest Du meinen Versuch Dich verstanden zu haben. Probier mal aus.

Grüße

.xlsb   DatenKopieren.xlsb (Größe: 20,91 KB / Downloads: 4)

d`r Bastler von den VBAsteleien.de
Win 10 & 11, Office 2019 & 2021 & macOS X.15, XL 2019
[-] Folgende(r) 1 Nutzer sagt Danke an d'r Bastler für diesen Beitrag:
  • k-siebke
Antworten Top
#10
(14.08.2022, 20:50)k-siebke schrieb: Ok danke für deine Kritik! leider bin ich kein sehr guter erklär Bär und hab versucht so gut es gut zu erklären

(14.08.2022, 20:50)k-siebke schrieb: Ok danke für deine Kritik! leider bin ich kein sehr guter erklär Bär und hab versucht so gut es gut zu erklären
Ich versuche das mal Direkt in meiner Tabelle zu erklären in dem ich die jeweiligen Zellen verknüpft habe 


Angehängte Dateien
.xlsm   ListView laden mit Fohrum.xlsm (Größe: 85,53 KB / Downloads: 3)
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste