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

Daten werden über Userform übertragen, aber...

Daten werden über Userform übertragen, aber...
26.10.2023 09:48:23
Maurice
Hallo in die Runde,
ich habe mir was raus gesucht, so dass die Daten von einer Tabelle in die andere eingetragen werden. Dies funktioniert sehr gut.
Was ich hier nicht so toll finde, ich muss die Zeilen im Code angeben die übertragen werden sollen. Heißt wird was hinzugefügt oder entfernt muss ich es abändern.
Jetzt stellt sich mir die Frage ob ich den bestehenden Code so abändern kann, oder ob man da was anderes suchen müsste?

Modul>Import_Ladebalken
 'Zeile hinzufugen und befullen

For i = 12 To 26 '15 Zeilen von 12 bis 26
Set LO_Zeile = DetaillierteEinnahmenAusgaben.ListObjects(1).ListRows.Add
With MonatlicheFixKosten
LO_Zeile.Range(1).Value = Date 'Datum eintragen
LO_Zeile.Range(2).Value = .Cells(i, "H").Value
LO_Zeile.Range(3).Value = .Cells(i, "I").Value
LO_Zeile.Range(4).Value = .Cells(i, "J").Value
LO_Zeile.Range(5).Value = .Cells(i, "K").Value
LO_Zeile.Range(6).Value = .Cells(i, "L").Value

'Fortschrittsbalken updaten
Call fortschrittbalkenUpdaten(i, 26)
End With
Next

Wenn da jemand eine Idee hat würde ich mich sehr freuen.

https://www.herber.de/bbs/user/163745.xlsm

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Daten werden über Userform übertragen, aber...
26.10.2023 12:04:30
bigmayo
Moin Maurice,

probiere es mal so:

Sub DatenUebertragen()

Dim ZeilenBereich As Range
Dim ZielTabelle As ListObject
Dim LO_Zeile As ListRow
Dim i As Integer

Set ZeilenBereich = MonatlicheFixKosten.Range("H12:L26")

Set ZielTabelle = DetaillierteEinnahmenAusgaben.ListObjects(1)

For i = 1 To ZeilenBereich.Rows.Count
Set LO_Zeile = ZielTabelle.ListRows.Add

With ZeilenBereich.Rows(i)
LO_Zeile.Range(1).Value = Date
LO_Zeile.Range(2).Value = .Cells(1, 1).Value
LO_Zeile.Range(3).Value = .Cells(1, 2).Value
LO_Zeile.Range(4).Value = .Cells(1, 3).Value
LO_Zeile.Range(5).Value = .Cells(1, 4).Value
LO_Zeile.Range(6).Value = .Cells(1, 5).Value
End With

Call fortschrittbalkenUpdaten(i, ZeilenBereich.Rows.Count)
Next i
End Sub


Gruß
Anzeige
AW: Daten werden über Userform übertragen, aber...
26.10.2023 15:44:26
Maurice
Moin bigmayo,
wenn ich bei deinem die Zeile still lege dann geht es
Call fortschrittbalkenUpdaten(i, ZeilenBereich.Rows.Count)
AW: Daten werden über Userform übertragen, aber...
26.10.2023 15:51:09
Maurice
Nachtrag:
hier müsste ich L?? auch anpassen und das wollte ich ja vermeiden nach Möglichkeit
Set ZeilenBereich = MonatlicheFixKosten.Range("H12:L26")
AW: Daten werden über Userform übertragen, aber...
26.10.2023 15:05:47
Yal
Hallo Maurice,

deine Quelle ist ebenfalls eine ListObject, daher kannst Du diese genauso mit ListRow abfragen.

Sub Laufende_Kosten_Ladebalken1()

'Laufende Kosten anlegen
Dim LR_Q As ListRow 'Quelle
Dim LR_Z As ListRow 'Ziel
Dim i As Long
Dim j As Long

ufMonatlicheFixKosten.Hide
'Fortschrittsbalken aufrufen
UfFortschrittsbalken.Show 0

'Zeile hinzufugen und befullen
With MonatlicheFixKosten.ListObjects(1)
For Each LR_Q In .ListRows
j = j + 1
Set LR_Z = DetaillierteEinnahmenAusgaben.ListObjects(1).ListRows.Add
LR_Z.Range(1).Value = Date 'Datum eintragen
For i = 2 To 6 'diese Spaltennummer ist relativ: erste Splate der ListRow, 2te, usw.
LR_Z.Range(i).Value = LR_Q.Cells(i).Value
Next
'Fortschrittsbalken updaten
Call fortschrittbalkenUpdaten(j, .ListRows.Count)
Next
End With

'Navigieren zu Tabellenblatt Datenbank
'DetaillierteEinnahmenAusgaben.Activate
' ActiveWindow.ScrollRow = LR_Q.Range.Row
'LR_Q.Range(1).Select

'Fortschrittsbalken schließen
Application.Wait Now + TimeSerial(0, 0, 1) 'wartet 2 Sekunden
Unload UfFortschrittsbalken
Unload ufMonatlicheFixKosten
ufDetaillierteEinnahmenAusgaben.Show
End Sub


VG
Yal
Anzeige
AW: Daten werden über Userform übertragen, aber...
26.10.2023 15:37:35
Maurice
Hallo Yal,
ich habe das mal so übernommen. Er sagt mir dann "Objekt unerstützt diese Eigenschaft oder Methode nicht"
Komen tut er bis da
LR_Z.Range(i).Value = LR_Q.Cells(i).Value
AW: Daten werden über Userform übertragen, aber...
26.10.2023 15:48:35
Yal
Hmm... Sorry, a bissele schlampig gearbeitet. So sollte gehen:
LR_Z.Range(i).Value = LR_Q.Range(i).Value


VG
Yal
AW: Daten werden über Userform übertragen, aber...
26.10.2023 16:09:57
Maurice
Ja so läuft es!
Vielen Vielen Dank
AW: Daten werden über Userform übertragen, aber...
26.10.2023 15:54:26
Yal
Noch kürzer:
'Zeile hinzufugen und befullen

With MonatlicheFixKosten.ListObjects(1)
For Each LR_Q In .ListRows
j = j + 1
Set LR_Z = DetaillierteEinnahmenAusgaben.ListObjects(1).ListRows.Add
LR_Z.Range.Value = LR_Q.Range.Value
LR_Z.Range(1).Value = Date 'Datum eintragen (überschreibt die erste Zelle)
Call fortschrittbalkenUpdaten(j, .ListRows.Count) 'Fortschrittsbalken updaten
Next
End With


Da deine beiden ListObject dieselbe Anzahl an Spalten haben, kann man die Tabellenzeile als ganzes übertragen und anschliessend die erste Zelle (Datum) korrigieren.

VG
Yal

Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige