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

VBA Code um Daten mit wenn zu holen

VBA Code um Daten mit wenn zu holen
11.02.2016 17:14:03
Michael
Hallo liebe Forengemeinde,
Ich habe folgendes Problem mit Excel in Kombi mit VBA:
Ich habe eine Arbeitsmappe, auf der in Tabelle 1 insgesamt 20 Mitarbeiter Ihre Arbeitszeit und Pausen in eine Maske eingeben sollen.
Zur Sicherheit muss der Mitarbeiter sich selbst dem Namen nach auswählen und damit es nicht in den Arbeitsmappen der Mitarbeiter durcheinander geht mit 4 stelliger Personalnummer.
Danach wählt er den Monat aus, den er bearbeiten will.
Dann soll er auf „Daten holen“ gehen. Nun brauche ich einen VBA Code etc. um aus der Mappe des Arbeitnehmers den entsprechenden Monat „( Z. B. JAN D8:L38 ) unter Zu Hilfename eines Nummerncodes (steht in Tabelle „Mitarbeiter“ und wird generiert aus Formulardropdownfeldern und Eingabe seiner Pers.-Nummer)
Mit einem aufgezeichneten Macro ist es mir gelungen, mit If then für einen Mitarbeiter dieses auch hin zu bekommen. Aber dann…….
Wenn der Mitarbeiter die Zeilen mit Arbeitszeit und Pausen ausgefüllt hat, soll er auf den Knopf „Daten Senden“ drücken und die Mappe des Mitarbeiters wird mit diesem Daten aktualisiert.
Hintergrund dieser Aktion soll sein, die Daten von dem Mitarbeiter (Taxifahrer) eingeben zu lassen.
Ich hoffe einer kann mir helfen…..
https://www.herber.de/bbs/user/103473.xlsm

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

Betreff
Datum
Anwender
Anzeige
AW: VBA Code um Daten mit wenn zu holen
12.02.2016 07:52:51
MCO
Moin!
Den Namen "Mitarbeiter" habe ich gelöscht (überflüssig)
Benutze folgenden Code:
Sub Marco1()
' Marco1 Makro
' Daten holen
'Namen herleiten:
'Ausgabezelle des Dropdown für Mitarbeiter: (Mitarbeiter)C1
With Sheets("Mitarbeiter")
Zeile = .Range("C1")
MA = Replace(.Range("A" & Zeile), " ", "") 'Name ohne Leerzeichen
MA_name = Split(MA, ",") 'Name bei Komma trennen
MA_VN = MA_name(1) 'Vorname (2ter Teil)
MA_NN = MA_name(0) 'nachname (1ter Teil)
End With
'    Windows(MA_VN & MA_NN & " Stundenabrechnung2016.xls").Activate
'    Range("D8:L38").Select
'    Range("L38").Activate
'    Selection.Copy
'    Windows("Stempeluhr - Kopie (version 2).xlsb [Wiederhergestellt]").Activate
'    Range("D3:L33").Select
'    ActiveSheet.Paste
Windows(MA_VN & MA_NN & " Stundenabrechnung2016.xls").Range("D8:L38").Copy Windows(" _
Stempeluhr - Kopie (version 2).xlsb [Wiederhergestellt]").Range("D3")
End Sub

du hast im "CommandButton1_Click" die Zeile

wks.Cells(1, 7).Value = wks.Cells(1, 7).Value + 1 
'Wenn das in jedem Case dieselbe Zeile ist, wieso schreibst du sie dann nicht 1x HINTER das select case?
Gruß, MCO

Anzeige
AW: VBA Code um Daten mit wenn zu holen
12.02.2016 11:37:23
Michael
Hallo MCO
Danke zunächst mal für den tollen Hinweis...
Nun ist es aber so, das die Zellen der " Stundenabrechnung2016.xls" (D8:L38) genau aus Jan, Feb usw.
geholt werden müssen, damit nichts durcheinander kommt.
Also müßte doch in den Macro1 nur noch eine wenn funktion bezogen auf Zelle A14 aus Tabelle Start hinein.
Unten habe ich noch die Pfade geändert. Ist das so richtig?
Den Command Button1 habe ich entfernt, da ich das mit dem Case noch nicht verstehe.
Sub Macro1()
' Marco1 Makro
' Daten holen
'Namen herleiten:
'Ausgabezelle des Dropdown für Mitarbeiter: (Mitarbeiter)C1
With Sheets("Mitarbeiter")
Zeile = .Range("C1")
MA = Replace(.Range("A" & Zeile), " ", "") 'Name ohne Leerzeichen
MA_name = Split(MA, ",") 'Name bei Komma trennen
MA_VN = MA_name(1) 'Vorname (2ter Teil)
MA_NN = MA_name(0) 'nachname (1ter Teil)
End With
'    Windows(MA_VN & MA_NN & " Stundenabrechnung2016.xls").Activate
'    Range("D8:L38").Select
'    Range("L38").Activate
'    Selection.Copy
'    Windows("Stempeluhr.xlsm").Activate
'    Range("D8:L38").Select
'    ActiveSheet.Paste
Windows(MA_VN & MA_NN & " Stundenabrechnung2016.xls").Range("D8:L38").Copy Windows(" _
Stempeluhr.xlsm]").Range("D3")
End Sub
https://www.herber.de/bbs/user/103495.xlsm

Anzeige
AW: VBA Code um Daten mit wenn zu holen
12.02.2016 16:13:51
Piet
hallo
Case hat eine aehnliche Funktion wie If then ... s. kleines Beispiel
'Zahl auswerten, Aktion starten
İf Zahl = 1 then
hier steht Aktion 1
ElseIf Zahl = 2 then
hier steht Aktion 2, usw.
Else sonstige Aktion
end if
'gleiches Thema, Aktion starten
Select Case Zahl
Case 1: hier Aktion s. If Zahl = 1
Case 2: hier Aktion s. If Zahl = 2
Case Else sonstige Auswertung
End Select
Ob If oder Case ist ganz egal, beides klappt.
Case hat den Vorteil das ich -kein If Then- mehr braucht!
Hier weiss das Programm auf -welchen Wert- es reagieren muss!
mfg Piet
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige