Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1396to1400
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
VBA Kopieren wenn Bedingung erfüllt ist.
17.12.2014 08:42:45
Kai
Hallo zusammen,
ich möchte in meiner Datenbank auf dem ersten Tabellenblatt eine Art "Eingabemaske" erstellen. Dort habe ich eine Zeile wo der Anwender per DropDown Menü bei verschiedenen Kriterien Werte eintragen kann. Um den VBA Code vielleicht ein bisschen zu vereinfachen, möchte ich, sobald der Anwender alle notwendigen Werte eingetragen hat, dem Eintrag per Wenn-Formel eine Zahl zuweisen. Abhängig von der Zahl soll der VBA Code nun die Werte aus dem "Eingabeformular" auf das entsprechende Tabellenblatt in die nächst freie Zeile kopieren.
Bisher habe ich auf jedem Tabellenblatt eine "Eingabezeile", die dann per VBA Code die Werte nach betätigen eines "Übernehmen" CommandButtons unten in die nächstfreie Zeile kopiert.
Sub Zeile_kopieren()
'Bereich kopieren
Sheets("Tabellenblatt1").Range("A4:Q4").Copy
'einfügen in erste freie Zeile in ausgabe
Sheets("Tabellenblatt1").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).PasteSpecial xlPasteValues
'Kopiermodus beenden
Application.CutCopyMode = False
End Sub

Ich hoffe ich war verständlich genug.
Vielen Dank für Eure Hilfe.
Gruß Kai

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Kopieren wenn Bedingung erfüllt ist.
17.12.2014 16:27:44
fcs
Hallo Kai,
hier ein Makro, das du noch anpassen musst.
Alternativ könntest du im Eingabeblatt auch den Namen des Ziel-Tabellenblattes in einer Zelle per Formel ermitteln und mit der Variante arbeiten.
Gruß
Franz
Sub Zeile_kopieren()
'Bereich kopieren
Dim strZiel As String
Select Case Worksheets("Eingabe").Range("C2").Value 'Zelle mit Zahlenwerten ggf. anpassen
'Vergleichswerte und Tabellennamen in den folgenden Zeilen anpassen!
Case 1 To 10
strZiel = "Tabelle A"
Case Is  "" Then
Worksheets("Eingabe").Range("A4:Q4").Copy
'einfügen in erste freie Zeile in ausgabe
With Worksheets(strZiel)
.Cells(.Rows.Count, 1).End(xlUp).Offset(1, 0).PasteSpecial xlPasteValues
End With
'Kopiermodus beenden
Application.CutCopyMode = False
Else
MsgBox "Bitte Eingabewerte prüfen, Daten konnten nicht kopiert werden!"
End If
End Sub
'Alternative - Name der Ziel-Tabelle wird in Zelle C2 per Formel ermittelt
Sub Zeile_kopieren_Variante()
'Bereich kopieren
Dim wksZiel As Worksheet
On Error Resume Next
Set wksZiel = Worksheets(Worksheets("Eingabe").Range("C2").Text) 'Zelle mit Name der  _
Zieltabelle ggf. anpassen
If Err.Number  0 Then
MsgBox "Bitte Eingabewerte prüfen, Daten konnten nicht kopiert werden!"
Err.Clear
Else
Worksheets("Eingabe").Range("A4:Q4").Copy
'einfügen in erste freie Zeile in ausgabe
With wksZiel
.Cells(.Rows.Count, 1).End(xlUp).Offset(1, 0).PasteSpecial xlPasteValues
End With
'Kopiermodus beenden
Application.CutCopyMode = False
End If
End Sub

Anzeige

355 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige