online 1
gast (50)

/ Forum / Tabellenkalkulation

TabellenkalkulationTabellenkalkulation

Fragevon FlotteLotte vom 09.07.2021, 22:27 Options

Zeile eines A.blattes in Tabelle einer anderer Mappe übertragen

Hallo an alle,

ich habe eine Frage zu VBA:

Habe mir eine Eingabemaske zum Erfassen von Ktoauszugsdaten gemacht.: Ausz.nr. /Blattnr. /Buchungsdatum/Bezahlt an,erhalten von/
bezahlt für, erhalten für/Zeitraum/Soll/Haben.

Für die verschied. Posten, wie z.B. Zahlungen an Stadt, Energielief. usw. habe ich je eine extra Tabelle angelegt.

Nun meine Frage:
ist es möglich über die Eingabemaske die Daten nicht nur in die Tabelle Kontoauszüge einzutragen, sondern auch gleich auf die einzelnen Tabellen Stadt, Energielief zu verteilen?

Würde mich über Hilfe freuen

Gruß
Lotte


Antwort schreiben

Antwort 1 von Saarbauer vom 10.07.2021, 08:08 Options

hallo,

grundsätzlich ja, da uns aber der Aufbau deiner Tabellen nicht bekannt ist, nur allgemein. Es kommt, nach meiner Einschätzung, in Frage

SVerweis(), WVerweis()
Summenprodukt()
Index(), Wahl()

und Makros.

Gruß

Helmut

Antwort 2 von M.O. vom 10.07.2021, 11:34 Options

Hallo Lotte,

hier mal ein kurzer Beispielcode, der eine Eingabe in zwei Tabellen einer Arbeitsmappe schreibt:

Sub test()

Dim t As String

t = InputBox("Bitte geben Sie einen Text ein!", "Eingabe")
Workbooks("Mappe2").Worksheets("Tabelle1").Range("A1") = t
Workbooks("Mappe2").Worksheets("Tabelle2").Range("B1") = t

End Sub


Deinen vorhandenen Code kannst du entsprechend modifizieren.

Gruß

M.O.

Antwort 3 von FlotteLotte vom 10.07.2021, 20:06 Options

Hallo Helmut u. M.O.

Danke für Eure Antworten.

Zur Verdeutlichung meinen Code:

Option Explicit
Private Sub CommandButton1_Click()
Public Row As Integer 'Initialisieren
Dim Auszug_B As Integer Löschen
Dim Blatt_B As Integer Kontobewegungen.L_Beweg.AddItem "En"
Dim Butag_B As Date Kontobewegungen.L_Beweg.AddItem "Deg"
Dim Nr_B As Integer Kontobewegungen.L_Beweg.AddItem "Sta"
Dim fuer_B As String Kontobewegungen.L_Beweg.AddItem "Las"
Dim Haben_B As Currency Kontobewegungen.L_Beweg.AddItem "Wic"
Dim Soll_B As Currency Kontobewegungen.L_Beweg.AddItem "F"
Dim Ktostand_B As Currency Kontobewegungen.L_Beweg.AddItem "Yi"
Dim Beweg_L As String 'Letzten Eintrag suchen
Suchen
Sub Suchen() 'Nr. des Eintrags
Sheets("2008").Activate Kontobewegungen.B_Nr = Row - 2
Range("A1").Select 'Dialogfeld anzeigen
Row = 4 Kontobewegungen.Show
While ActiveSheet.Cells(Row, 1).Value <> "" End Sub
ActiveSheet.Cells(Row, 1).Select
Row = Row + 1
Wend
ActiveSheet.Cells(Row, 1).Select

End Sub
Sub DatenLesen()
Nr_B = Kontobewegungen.B_Nr
Auszug_B = Kontobewegungen.B_Auszug
Blatt_B = Kontobewegungen.B_Blatt
fuer_B = Kontobewegungen.B_fuer
Butag_B = Kontobewegungen.B_Butag
Haben_B = Kontobewegungen.B_Haben
Soll_B = Kontobewegungen.B_Soll
Beweg_L = Kontobewegungen.L_Beweg
End Sub

Sub DatenÜbertragen()
Cells(Row, 1) = Nr_B
Cells(Row, 2) = Auszug_B
Cells(Row, 3) = Blatt_B
Cells(Row, 4) = Butag_B
Cells(Row, 5) = Beweg_L
Cells(Row, 6) = fuer_B
Cells(Row, 8) = Haben_B
Cells(Row, 7) = Soll_B
Ktostand_B = Cells(Row - 1, 9).Value
Cells(Row, 9) = Ktostand(Ktostand_B, Haben_B, Soll_B)
End Sub

Function Ktostand(K, H, S As Currency) As Currency
Kontobewegungen.B_Ktostand = K + H - S
Ktostand = K + H - S
End Function

Sub Neu()
Löschen
Row = Row + 1
Kontobewegungen.B_Nr = Row - 2
Kontobewegungen.B_Butag.SetFocus
End Sub

Sub Löschen()
Kontobewegungen.B_Soll = 0
Kontobewegungen.B_Haben = 0
Kontobewegungen.B_Butag = ""
Kontobewegungen.B_Auszug = ""
Kontobewegungen.B_Blatt = ""
Kontobewegungen.B_fuer = ""
End Sub

Da in den Ktoauszügen nicht alles nach der Reihe steht (Stadt, Engerievers. usw.) was in eine Tab. kommt
muß ich hier nicht mit If.....then arbeiten?
If....in Cells(Row, 5) Stadt steht - then in Tab. Stadt
If....in Cells(Row,5) Energievers. steht - then in Tab Nk-Tab.
usw.

Sehe ich das richtig?

Gruß
Lotte

Antwort 4 von nighty vom 11.07.2021, 17:44 Options

hi all ^^

zwei beispiele :-))

gruss nighty :-)

tabellennamen zur zeit ,zweite zeile spalte 5

eine ereignis makro fuer entsprechenden automatismus

Cells(2, 5) koennte man mit target.row bzw target.column ergaenzen

Private Sub Worksheet_Change(ByVal Target As Range)
    Application.EnableEvents = False
    If Target.Column = 5 And Target.Cells.Count = 1 Then
        If SheetExists("" & Cells(2, 5)) = True Then
            Rows(Target.Row).Copy
            Worksheets("" & Cells(2, 5)).Range("A" & Worksheets("" & Cells(2, 5)).Range("A" & Rows.Count).End(xlUp).Row + 1).PasteSpecial Paste:=xlValues, Operation:=xlNone
            Application.CutCopyMode = False
        Else
            MsgBox "Tabelle " & ZielTabelle & " gibt es nicht,Vorgang wird abgebrochen"
        End If
        Application.EnableEvents = True
    End If
End Sub


ein makro fuer haendischen start bzw zuweisung zu elementen

Cells(2, 5) koennte man mit ActiveCell.Row bzw ActiveCell.column ergaenzen

Sub Kopie()
    If SheetExists("" & Cells(2, 5)) = True Then
        Rows(2).Copy
        Worksheets("" & Cells(2, 5)).Range("A" & Worksheets("" & Cells(2, 5)).Range("A" & Rows.Count).End(xlUp).Row + 1).PasteSpecial Paste:=xlValues, Operation:=xlNone
        Application.CutCopyMode = False
    Else
        MsgBox "Tabelle " & Cells(2, 5) & " gibt es nicht,Kopievorgang wurde nicht ausgeführt !"
    End If
End Sub

eine function die bei beiden varianten in ein allgemeines modul gehoert
Public Function SheetExists(strName As String) As Boolean
    On Error Resume Next
    SheetExists = Not Worksheets(strName) Is Nothing
End Function


dies sind nur ansaetze :-))

Antwort 5 von nighty vom 11.07.2021, 18:01 Options

hi all ^^

und wie üblich :-))

korrigiert o_o

gruss nighty

ereignismakro
ZielTabelle

ersetzen durch
Cells(2, 5)

Antwort 6 von FlotteLotte vom 27.07.2021, 14:41 Options

Hallo nighty,

habe Deinen 1. Code ausprobieren wollen, kann in aber nicht aufrufen!??

Wenn ich auf Start drücke, geht Fenster auf wo eigentlich der Makroname stehen sollte, steht aber nichts.

Danke für Hilfe im voraus.

Gruß
Lotte

Ähnliche Themen

Bezüge beim Kopieren eines Blattes in eine andere Datei
rheym  23.06.2008 - 53 Hits - 2 Antworten

Excel Tabelle einfärben (eine Zeile weiss, eine Zeile grau)
weissgrau  16.10.2008 - 63 Hits - 3 Antworten

Mehre Zellen einer Spalte,in einer Zeile übertragen (Tab2.)
ajin  31.10.2008 - 28 Hits - 2 Antworten

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Thu Jan 8 21:07:44 2026