Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
960to964
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
960to964
960to964
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Werte aus anderer Tabelle übernehmen

Werte aus anderer Tabelle übernehmen
19.03.2008 09:13:00
Willy
Hallo Excelfreunde
Werte aus anderer Tabelle übernehmen, ein oft gefragtes Thema im Forum, habe leider nichts passendes oder ähnliches gefunden.
Blatt 1 und 2 sollen die Werte aus Tabelle 1 übernehmen.
z.B.Wenn in Tabelle 1 Spalte E "Oxid" und in Spalte F "1" steht, soll in Blatt 1 in Spalte A = Tabelle 1 Spalte A stehen (Datum); Blatt 1 Spalte B = Tabelle 1 Spalte J ; Blatt 1 Spalte C = Tabelle 1 Spalte I ; steht aber
in Tabelle 1 Spalte F eine "2" soll in Blatt 1 Spalte D = Tabelle 1 Spalte J ; Blatt 1 Spalte E = Tabelle 1 Spalte I stehen.Bei Base gibt es noch Base 1 und Base 2.
Siehe Anhang.
Danke für eure Bemühungen im Vorraus. Gruß Willy
https://www.herber.de/bbs/user/50845.xls

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Werte aus anderer Tabelle übernehmen
19.03.2008 12:16:31
fcs
Hallo Willy,
Prozedur muss etwa so aussehen, wobei du zum Blatt 2 ja nicht viel geschrieben hast.
Gruß
Franz

Sub DatenUebertragen()
Dim ws1 As Worksheet, wsB1 As Worksheet, wsB2 As Worksheet
Dim z&, z1&, zB1&, zB2& 'Long-Variablen
Dim Spalte%
Dim Tank As String
Dim Chemikalie As String
Dim Menge As Double
Dim NiveauDiff As Variant
Dim DatumNeu As Date, DatumAlt As Date
Set ws1 = Worksheets("Tabelle1")
Set wsB1 = Worksheets("Blatt 1")
Set wsB2 = Worksheets("Blatt 2")
z1 = 5 '1. Daten Zeile in tabelle 1
zB1 = 6 '1. Leerzeile in Blatt 1
zB2 = 5 '1. Leerzeile in Blatt 2
wsB1.Range("A6:U30").ClearContents
wsB2.Range("A5:T30").ClearContents
DatumAlt = ws1.Cells(z1, 1).Value
For z = z1 To ws1.Cells(ws1.Rows.Count, 1).End(xlUp)
DatumNeu = ws1.Cells(z, 1).Value
Tank = ws1.Cells(z, 6).Value
Chemikalie = ws1.Cells(z, 5).Value
Menge = ws1.Cells(z, 10).Value
NiveauDiff = ws1.Cells(z, 9).Value
If Chemikalie = "Stoff" Then
wsB2.Cells(zB2, 1) = DatumNeu
wsB2.Cells(zB2, 3) = Menge
zB2 = zB2 + 1
Else
If DatumNeu  DatumAlt Then
zB1 = zB1 + 1
DatumAlt = DatumNeu
End If
Select Case Chemikalie
Case "Oxid"
If Tank = "1" Then
wsB1.Cells(zB1, 1).Value = DatumNeu
wsB1.Cells(zB1, 2).Value = Menge
wsB1.Cells(zB1, 3).Value = NiveauDiff
ElseIf Tank = "2" Then
wsB1.Cells(zB1, 1).Value = DatumNeu
wsB1.Cells(zB1, 4).Value = Menge
wsB1.Cells(zB1, 5).Value = NiveauDiff
Else
MsgBox "Fehler bei Tanknummer in Tabelle 1 in Zeile " & z
End If
Case "Lauge"
If Tank = "1" Then
wsB1.Cells(zB1, 1).Value = DatumNeu
wsB1.Cells(zB1, 6).Value = Menge
wsB1.Cells(zB1, 7).Value = NiveauDiff
ElseIf Tank = "2" Then
wsB1.Cells(zB1, 1).Value = DatumNeu
wsB1.Cells(zB1, 8).Value = Menge
wsB1.Cells(zB1, 9).Value = NiveauDiff
Else
MsgBox "Fehler bei Tanknummer in Tabelle 1 in Zeile " & z
End If
Case "Base 1"
If Tank = "1" Then
wsB1.Cells(zB1, 1).Value = DatumNeu
wsB1.Cells(zB1, 10).Value = Menge
wsB1.Cells(zB1, 11).Value = NiveauDiff
Else
MsgBox "Fehler bei Tanknummer in Tabelle 1 in Zeile " & z
End If
Case "Base 2"
If Tank = "2" Then
wsB1.Cells(zB1, 1).Value = DatumNeu
wsB1.Cells(zB1, 12).Value = Menge
wsB1.Cells(zB1, 13).Value = NiveauDiff
Else
MsgBox "Fehler bei Tanknummer in Tabelle 1 in Zeile " & z
End If
Case "Säure 1"
If Tank = "1" Then
wsB1.Cells(zB1, 1).Value = DatumNeu
wsB1.Cells(zB1, 14).Value = Menge
wsB1.Cells(zB1, 15).Value = NiveauDiff
Else
MsgBox "Fehler bei Tanknummer in Tabelle 1 in Zeile " & z
End If
Case "Säure 2"
If Tank = "2" Then
wsB1.Cells(zB1, 1).Value = DatumNeu
wsB1.Cells(zB1, 16).Value = Menge
wsB1.Cells(zB1, 17).Value = NiveauDiff
Else
MsgBox "Fehler bei Tanknummer in Tabelle 1 in Zeile " & z
End If
Case "Aluminiumsulfat"
If Tank = "1" Then
wsB1.Cells(zB1, 1).Value = DatumNeu
wsB1.Cells(zB1, 18).Value = Menge
wsB1.Cells(zB1, 19).Value = NiveauDiff
Else
MsgBox "Fehler bei Tanknummer in Tabelle 1 in Zeile " & z
End If
Case "Zusatz"
If Tank = "1" Then
wsB1.Cells(zB1, 1).Value = DatumNeu
wsB1.Cells(zB1, 20).Value = Menge
wsB1.Cells(zB1, 21).Value = NiveauDiff
Else
MsgBox "Fehler bei Tanknummer in Tabelle 1 in Zeile " & z
End If
Case Else
'do nothing
End Select
End If
Next
End Sub


Anzeige
AW: Werte aus anderer Tabelle übernehmen
19.03.2008 13:42:00
Willy
Hallo Franz
Danke für deine Antwort, Sorry in Blatt 2 sollen natürlich auch die entsprechende Werte übernommen werden, was du ja auch schon gemacht hast, wenn ich Code richtig verstehe.
Wo muß ich den Code eingeben, in einem Modul oder Tabelle 1 oder Blatt 1.
Meine VBA Kenntnisse sind sehr dürftig, habe im Level das falsche angeklickt.
Gruß Willy

AW: Werte aus anderer Tabelle übernehmen
19.03.2008 15:28:00
Heinz
Hi,
"...Wo muß ich den Code eingeben, in einem Modul oder Tabelle 1 oder Blatt 1...."
Ist in diesem Fall völlig Wurscht.
mfg Heinz

AW: Werte aus anderer Tabelle übernehmen
19.03.2008 17:38:16
Willy
Hallo Heinz
Danke für deine Antwort, funktioniert alles wunderbar. Ich dachte im allgemeinen der Code muß im Modul und der andere in der Tabelle eingefügt werden, aber das es mal egal ist, wo der Code eingefügt wird. Wieder mal was dazu gelernt.
Gruß Willy

Anzeige
AW: Werte aus anderer Tabelle übernehmen
19.03.2008 18:31:39
fcs
Hallo Willy,
es ist in diesem Fall egal, weil keine Ereignisse in den Tabellen im Code abgefragt werden .
Ich empfehle in diesem Fall den Code in ein allgemeines Modul zu packen.
Gruß
Franz

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige