Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: VBA Daten in ein anderes Tabellenblatt k

VBA Daten in ein anderes Tabellenblatt k
16.07.2020 09:44:13
Laura
Hallo Zusammen,
ich bin gerade dabei ein Excel-Planungstool für unser Team zu entwerfen. Die Idee ist, dass man aus einer Liste die Projekte ankreuzen kann (dazu hat jeder Mitarbeiter seine/ihre eigene Spalte mit eigenem Kürzel), an denen man arbeiten, dann sein Kürzel in ein Feld eingibt und dann auf ein Button "Übertragen" drückt. Dabei werden die Projektinformationen (Spalten A-F; dort wo man ein Kreuz gesetzt hat) in sein eigenes Arbeitsblatt (wieder mit eigenem Kürzel) übertragen. Ich habe dazu einen Button entwickelt, der dann mit "Select Case" jeweils das Kürzel auswählt, das eingegeben wurde und die Informationen, die in der jeweiligen Spalte zu dem zugehörigen Kürzel angekreuzt wurden, in das jeweilige Arbeitsblatt überträgt. Mein einziges Problem ist derzeit, dass die Projektinformationen immer wieder in das jeweilige Arbeitsblatt übergetragen werden, sobald man auf den Button drückt, d.h. zurzeit prüft das Programm nicht, ob dieses Projekt schon in dem jeweiligen Arbeitsblatt steht. Ich habe mir schon lange den Kopf zerbrochen, aber bisher hat noch nichts funktioniert... Ich hatte überlegt, dass man einen Array konzipiert, der dann die "Kreuze" erstmal speichert und dann in dem jeweiligen Arbeitsblatt abgleicht, ob diese schon vorhanden sind, und dann nur die neuen Projekte einträgt. Hat jemand eine Idee, wie man das eleganter lösen könnte?
Hier ist der bisherige VBA-Code (Anmerkung: 'THB' ist dabei das Kürzel eines Mitarbeiters):
Sub Button59_Click()
Dim Wert As String
Dim Spaltennr As Long
Dim Zeile, Ziel_Zeile As Integer
Dim ThisValue As String
Dim Anzahl_Projekte As Integer
Wert = Worksheets("Planung 2020-21").Cells(2, 34).Value
Select Case Wert
Case "THB"
Sheets("Planung 2020-21").Activate
FinalRow = Cells(Rows.Count, 6).End(xlUp).Row
Spaltennr = Columns("AG").Column
Ziel_Zeile = Worksheets("THB").Cells(Rows.Count, 1).End(xlUp).Row
For i = 6 To FinalRow
ThisValue = Cells(i, Spaltennr).Value
If ThisValue = "x" Or ThisValue = "X" Then
With Worksheets("Planung 2020-21")
.Range("A" & i & ":" & "F" & i).Copy Destination:=Worksheets("THB").Range("  _
_
_
A" & Ziel_Zeile & ":" & "F" & Ziel_Zeile)
End With
Anzahl_Projekte = Anzahl_Projekte + 1
Ziel_Zeile = Ziel_Zeile + 1
End If
Next i
MsgBox Anzahl_Projekte & " Projekte wurden erfolgreich in das Arbeitsblatt THB kopiert." _
_
_
'(hier kommen dann noch weitere Cases von den anderen Kollegen)
Case Else
MsgBox "Das eingegebene Kürzel exisiert in diesem Arbeitsblatt nicht."
End Select
End Sub

Vielen Dank schon mal!
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Daten in ein anderes Tabellenblatt k
16.07.2020 09:49:01
Regina
Hi,
also von der Idee her, würde ich vor dem Kopieren mit der Range.Find-Methode gucken, ob das Projekt in der Zieltabelle schon vorhanden ist, wenn nein, dann kopieren.
Für konkrete Hilfe bräuchte man eine Beispieldatei.
Gruß Regina
Crosspost ohne Hinweis
16.07.2020 09:50:25
Werner
Hallo,
würdest du bitte deine Beiträge in den verschiedenen Foren untereinander verlinken.
Gruß Werner
Anzeige
AW: VBA Daten in ein anderes Tabellenblatt k
16.07.2020 09:54:22
Daniel
Hi
a) Du könntest eine zweite Spalte anlegen, in der du dann per Makro das x einträgst, nachdem die Zeile übertragen wurde.
Beim Übertragen prüfst du dann beide Spalten und überträgst nur, wenn in der ersten Spalte ein x steht und die zweite Spalte leer ist.
b) Lösche einfach das x nach dem Übertragen.
c) Übertrage wie bisher und führe nach dem Übertrag in der Zieltabelle ein Daten - Datentools - Duplikate entfernen aus, um die doppelten Einträge zu entfernen.
Gruß Daniel
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige