Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Excel Makro Problem

Frage Microsoft Microsoft Office

Mitglied: Florian86

Florian86 (Level 2) - Jetzt verbinden

17.10.2014, aktualisiert 19:07 Uhr, 1256 Aufrufe, 9 Kommentare

Hallo,

ich habe folgendes vor:

ich möchte in einer Exceldatei mit 2 Blättern auf den ersten ein kleines Formular basteln.
Dieses soll ein Button enthalten welches die eingegebenen Daten auf das 2. Tabellenblatt überträgt.

Als Link meine Datei...

https://drive.google.com/file/d/0BzQM-ZoFrfL8bVlzTzlpa0Z2WVk/view?usp=sh ...

Ich habe die Datei fast fertig nur funktioniert mein Button und das dahinterstehende Makro nicht.

Mein Code

Private Sub CommandButton1_click()
Dim wksOrig As Worksheet
Dim wksStore As Worksheet
Dim lngLastRow As Long

Set wksOrig = Worksheets("PK frisch")
Set wksStore = Worksheets("Datenmatrix")

With wksStore
lngLastRow = IIf(.Cells(Rows.Count, 1) = "", .Cells(Rows.Count, 1).End(xlUp).Row + 1, Rows.Count)
.Cells(lngLastRow, 1) = wksOrig.Range("D8")
.Cells(lngLastRow, 2) = wksOrig.Range("F8")

End With

Set wksStore = Nothing
Set wksOrig = Nothing
End Sub


MfG

Florian

Mitglied: Meierjo
LÖSUNG 17.10.2014, aktualisiert um 19:07 Uhr
Hallo

Also, hab mir die Tabelle mal angeschaut.
Sobald du in der Tabelle Datenmatrix in Feld A5 etwas stehen hast, werden die Werte aus der Eingabe-Box korrekt in die Zieltabelle übertragen.
Vermutlich ein Problem, weil die Zeilen 3 und 4 verbunden sind, kann die letzte Zeile mit Inhalt nicht richtig ermittelt werden.

Gruss Urs
Bitte warten ..
Mitglied: colinardo
LÖSUNG 17.10.2014, aktualisiert um 19:07 Uhr
Hallo Florian,
es ist genau die Ursache die Urs ermittelt hat, die verbundene Zelle(A3:A4) auf dem Tabellenblatt Datenmatrix. Schreibe diese Zeile deines Codes folgendermaßen um, dann klappt's wie gewünscht:
lngLastRow = IIf(.Cells(Rows.Count, 1) = "", .Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row, Rows.Count)
Mit .Offset(1,0) verschiebst du den Zeiger der Zelle wirklich um eine Zelle nach unten, verbundene Zellen werden damit berücksichtigt.

Grüße Uwe
Bitte warten ..
Mitglied: Florian86
17.10.2014 um 19:08 Uhr
Danke für eure Antworten....
Bitte warten ..
Mitglied: Florian86
20.10.2014 um 08:26 Uhr
Hallo,

eine Frage noch...

Wenn ich im ersten Tabellenblatt eine laufende Nummer einfüge und diese auch als Spalte in dem 2 Tabellenblatt,
Könnte man dann sogar über die laufenden Nr. definieren an welcher stelle Excel die Zellen kopieren soll???

Sollte dann wie in der Tabelle so aussehen...

https://drive.google.com/file/d/0BzQM-ZoFrfL8SlltTjNoZnc3XzQ/view?usp=sh ...

MfG

Florian
Bitte warten ..
Mitglied: colinardo
LÖSUNG 20.10.2014, aktualisiert um 12:07 Uhr
Zitat von Florian86:
Wenn ich im ersten Tabellenblatt eine laufende Nummer einfüge und diese auch als Spalte in dem 2 Tabellenblatt,
Könnte man dann sogar über die laufenden Nr. definieren an welcher stelle Excel die Zellen kopieren soll???
selbst redend
01.
Private Sub CommandButton1_click() 
02.
 Dim wksOrig As Worksheet, wksStore As Worksheet, found As Range 
03.
  
04.
 Set wksOrig = Worksheets("PK frisch") 
05.
 Set wksStore = Worksheets("Datenmatrix") 
06.
  
07.
 With wksStore 
08.
    lfdNummer = wksOrig.Range("D5").Value 
09.
    Set found = .Range("A5", .Cells(Rows.Count, 1)).Find(lfdNummer, LookIn:=xlValues, Lookat:=xlWhole) 
10.
    If Not found Is Nothing Then 
11.
        found.Offset(0, 1).Value = wksOrig.Range("D8") 
12.
        found.Offset(0, 2).Value = wksOrig.Range("F8") 
13.
    End If 
14.
 End With 
15.
  
16.
 Set wksStore = Nothing 
17.
 Set wksOrig = Nothing 
18.
End Sub
Grüße Uwe
Bitte warten ..
Mitglied: Florian86
20.10.2014 um 12:08 Uhr
hat super geklappt Danke dir...

MfG

Florian86
Bitte warten ..
Mitglied: Florian86
18.11.2014 um 15:28 Uhr
Hallo,

kann man auch sagen wenn in der Zeile etwas geschrieben ist das er dann eine Meldung bringen und abbrechen soll???

Mein Code sieht dazu nun so aus:

Private Sub CommandButton1_Click()

Dim wksOrig As Worksheet, wksStore As Worksheet, found As Range, foundb As Range

Set wksOrig = Worksheets("PK frisch")
Set wksStore = Worksheets("Datenmatrix")

If MsgBox("Bitte Prüfen Sie die lfd. Nummer. Möchten Sie die Daten wirklich übernehmen?", vbYesNo) = vbYes Then
With wksStore

lfdNummer = wksOrig.Range("C6").Value
zeilegefüllt = wksOrig.Range("B5:B5000").Value

Set foundb = .Range("B5", .Cells(Rows.Count, 1)).Find(zeilegefüllt, LookIn:=xlValues, Lookat:=xlWhole)
Set found = .Range("A5", .Cells(Rows.Count, 1)).Find(lfdNummer, LookIn:=xlValues, Lookat:=xlWhole)

If Not found Is Nothing And foundb = "" Then

found.Offset(0, 1) = wksOrig.Range("C8")
found.Offset(0, 2) = wksOrig.Range("K8")

Else
MsgBox "lfd Nummer ist schon vergeben!!!", vbExclamation

End If

End With

Else
End If

Set wksStore = Nothing
Set wksOrig = Nothing
End Sub

Ich wollte halt sagen wenn er die lfdnr. findet UND in Spalte B nix steht ist alles ok.
Wenn in Spalte B etwas drin steht soll er die Meldung bringen das da schon was drin ist.
Bitte warten ..
Mitglied: colinardo
LÖSUNG 18.11.2014, aktualisiert um 18:04 Uhr
Zitat von Florian86:
Ich wollte halt sagen wenn er die lfdnr. findet UND in Spalte B nix steht ist alles ok.
Wenn in Spalte B etwas drin steht soll er die Meldung bringen das da schon was drin ist.
01.
Private Sub CommandButton1_Click() 
02.
    Dim wksOrig As Worksheet, wksStore As Worksheet, found As Range 
03.
     
04.
    Set wksOrig = Worksheets("PK frisch") 
05.
    Set wksStore = Worksheets("Datenmatrix") 
06.
     
07.
    If MsgBox("Bitte Prüfen Sie die lfd. Nummer. Möchten Sie die Daten wirklich übernehmen?", vbYesNo Or vbQuestion) = vbYes Then 
08.
        With wksStore 
09.
            lfdNummer = wksOrig.Range("C6").Value 
10.
            Set found = .Range("A5", .Cells(Rows.Count, 1)).Find(lfdNummer, LookIn:=xlValues, Lookat:=xlWhole) 
11.
         
12.
            If Not found Is Nothing Then 
13.
                If found.Offset(0, 1).Value <> "" Then 
14.
                    MsgBox "lfd Nummer ist schon vergeben!!!", vbExclamation 
15.
                    Exit Sub 
16.
                Else 
17.
                    found.Offset(0, 1) = wksOrig.Range("C8") 
18.
                    found.Offset(0, 2) = wksOrig.Range("K8") 
19.
                End If 
20.
            Else 
21.
                MsgBox "Laufende Nummer wurde nicht gefunden", vbCritical 
22.
            End If 
23.
        End With 
24.
 
25.
    End If 
26.
     
27.
    Set wksStore = Nothing 
28.
    Set wksOrig = Nothing 
29.
End Sub
Grüße Uwe
Bitte warten ..
Mitglied: Florian86
18.11.2014 um 18:05 Uhr
Danke

MfG

Florian86
Bitte warten ..
Ähnliche Inhalte
Microsoft Office
Excel Makro
Frage von maloh1984Microsoft Office4 Kommentare

Hallo Habe ein Problem, ein Kunde der hat Excellisten mit Makro die lassen sich öffnen aber die Buttons reagieren ...

Microsoft Office
Excel-Makro
gelöst Frage von yuki13Microsoft Office7 Kommentare

Hallo Zusammen!! :-) Ich bin nicht so fit in Excel Makros und wollte mich hier erkundigen, ob mir jemand ...

VB for Applications
Excel Makro Kreisdiagramm für Fortgeschrittene
gelöst Frage von StefanHVB for Applications3 Kommentare

hallo zusammen, habe mal wieder ein excel / makro problem  ich möchte ein kuchendiagramm / kreisdiagramm erstellen, das ...

Visual Studio
Excel 2010 Hilfe bei Makro
gelöst Frage von IceAgeVisual Studio8 Kommentare

Hallo Liebe Adminstratoren, ich bräuchte mal eure Unterstützung bei einem Excel Makro. Ich habe eine Excelliste mit 2 Tabellen. ...

Neue Wissensbeiträge
Windows 10

Windows 10 Hello-Anmeldung per Foto ausgehebelt

Tipp von kgborn vor 1 StundeWindows 10

Windows Hello ist eine Funktion, um sich per Fingerabdruck-, Gesichts- oder Iriserkennung bei Windows 10-Geräten anzumelden (siehe), setzt aber ...

Perl

Perl hat heute Geburtstag: 30 Jahre Perl: Lange Gesichter zum Geburtstag

Information von Penny.Cilin vor 9 StundenPerl2 Kommentare

Hallo, auch wenn es wenige wissen und noch weniger Leute es nutzen. Perl hat heute Geburtstag. 30 Jahre Perl ...

Sicherheit

Blackberry stirbt - Keine Updates für Priv mehr

Tipp von certifiedit.net vor 9 StundenSicherheit1 Kommentar

Blackberry wird zu einer 08/15 Firma und geht wohl mehr und mehr den Weg, den HTC schon ging. Von ...

Windows 10

Autsch: Microsoft bündelt Windows 10 mit unsicherer Passwort-Manager-App

Tipp von kgborn vor 2 TagenWindows 1012 Kommentare

Unter Microsofts Windows 10 haben Endbenutzer keine Kontrolle mehr, was Microsoft an Apps auf dem Betriebssystem installiert (die Windows ...

Heiß diskutierte Inhalte
Windows Server
SCCM 2016: PXE Boot des Clients schlägt fehl
Frage von gabeBUWindows Server22 Kommentare

Hallo Zusammen Ich habe eine Testumgebung erstellt um über SCCM 2016 einen virtuellen Client aufzusetzen. Folgende Maschinen habe ich ...

Netzwerkgrundlagen
Belibiges Teilnetz einer Subnetzmaske rausfinden?
gelöst Frage von CenuzeNetzwerkgrundlagen19 Kommentare

Wundervollen Gutentag, mittlerweile kann ich Subnetting so einigermaßen, aber ein Problem habe ich noch. Netzwerkadresse und Boradcast errechnen ist ...

LAN, WAN, Wireless
WLAN Reichweite erhöhen mit neuer Antenne
gelöst Frage von gdconsultLAN, WAN, Wireless12 Kommentare

Hallo, ich besitze einen TL-WN722N USB-WLAN Dongle mit einer richtigen Antenne. Ich frage mich jetzt ob man die Reichweite ...

Windows Server
Logging von "gesendeten Nachrichten" auf Terminalservern
gelöst Frage von Z3R0C0MM4N0THiN6Windows Server10 Kommentare

Hallo zusammen, kann mir jemand auf kurzem Wege sagen ob 1) die per Task-Manager (oder damals tsadmin) an Benutzer ...