Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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

Daten in bestimmte Zeile eintragen

Frage Microsoft Microsoft Office

Mitglied: trmanky

trmanky (Level 1) - Jetzt verbinden

05.09.2011 um 12:03 Uhr, 3294 Aufrufe, 4 Kommentare

Hallo IT-Gemeinde,

ich habe ein relativ kompliziertes Problem, jedenfalls lässt sich danach schlecht bei Google suchen :D

Folgender Hintergrund:
Ich habe den Auftrag eine Datenbank für ein neues Produkt zu erstellen. Das Produkt besteht dabei aus verschieden Einzelteilen, die wir selbst zusammenfügen. Jedes Teil hat eine eigene Seriennummer usw.
Dazu hab ich als erstes eine Tabelle erstellt mit den verschiedenen Seriennummern, Montagedatum und Monteur.
Um die Daten nun schnell eingeben zu können, habe ich ein Eingabeformular erstellt, Buttons mit Makros setzen eine neue Zeile ein und setzen die Werte nun in die jeweilige Spalte ein, sodass sich die Liste von oben nach unten füllt.

Nun soll es noch einen Testlauf geben. Gesagt getan, habe ich ein Formular für diesen Testlauf erstellt. Diese Daten sollen ebenfalls in die Tabelle. Ich habe die Tabelle also um die Punkte des Testlaufs erweitert und wollte gerade mit der Erstellung des Makros zur Eingabe der Daten in die Tabelle beginnen, als ich auf mein Problem stieß:

Wie finde ich den Datensatz (also das montierte Produkt) in meiner Tabelle, um in der gleichen Zeile die Daten für den Testlauf einzutragen? Bei der Montage erhält das Produkt eine eigene Seriennummer, d.h. hinter einer Seriennummer stecken die einzelnen Nummern der Bauteile. Das Problem ist nämlich, dass nicht zwingend direkt nach der Montage der Testlauf durchgeführt wird. Ich kann also nicht einfach in der aktuelle Zeile arbeiten, sondern muss die Zeile der Seriennummer entsprechend erst suchen.

Nun muss ich also per Makro nach der Seriennummer suchen, die Zeile auswählen, dann X Schritte nach rechts (zu der jeweiligen Spalte, in der der erste Datensatz des Testprotokolls eingegeben werden soll), um dann die Daten nacheinander eintragen lassen zu können.

Ich weiß, ich könnte es mir einfach machen und eine zweite Tabelle anfangen, nur für die Testprotokolle, aber das möchte ich nicht. Ich möchte alles in einer Tabelle stehen haben. Gibt es eine Möglichkeit das zu bewerkstelligen?

Meine Kenntniss in VBA sind sehr, sehr, sehr, sehr gering, also bräuchte ich eine relativ ausführliche Erläuterung =)

VG
Mitglied: bastla
05.09.2011 um 12:20 Uhr
Hallo trmanky!
Wie finde ich den Datensatz (also das montierte Produkt) in meiner Tabelle
Gegenfrage - wie würdest Du das in der Tabelle ohne VBA machen? Wenn Du darauf eine Antwort hast, ist der Weg (über ein aufgezeichnetes Makro als Zwischenschritt) gar nicht mehr weit ...

Grüße
bastla
Bitte warten ..
Mitglied: trmanky
05.09.2011 um 12:38 Uhr
Hallo bastla,

diesen Gedanken hatte ich auch schon und habe prompt ein Makro aufgezeichnet und dann auf Suchen + Auswählen geklickt, die Zelle auf dem Testlaufprotokoll mit der Seriennummer angewählt kopiert und eingefügt und schließlich gesucht. Aber wenn ich mir nun das Makro anschaue, steht da:

Range("D5").Select
Selection.Copy
Sheets("Rekorder-SN").Select
Cells.Find(What:="123456", After:=ActiveCell, LookIn:=xlFormulas, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False, SearchFormat:=False).Activate

unter "Cells.Find(What=123456..." sehe ich, dass er zwar nach der SN (hier nur eine Test-SN :D) sucht, aber eben nicht nach dem variablen kopierten aus D5 sondern nach der exakten Nummer. Das ist doch nicht richtig oder? Und wie kann ich jetzt die jeweiligen Spalten anwählen? Über den Cells-Befehl?

VG
Bitte warten ..
Mitglied: bastla
05.09.2011 um 12:53 Uhr
Hallo tmanky!

Der nächste Schritt wäre, zum einen die Konstante "123456" durch eine Variable oder einen Bezug auf die Zelle (also zB Cells(5, "D").Value)) zu ersetzen und zum anderen, in der Online-Hilfe nach "Find" zu suchen ...

... und da das uU nicht unmittelbar zum gewünschten Ergebnis führt, einen anderen Begriff aus dem aufgezeichneten Suchvorgang, also etwa "SearchOrder" oder "LookIn" zu verwenden - früher oder später bist Du dann bei der "Range.Find"-Methode angekommen.
Die Zeile einer Zelle findest Du übrigens mit ".Row" heraus ...

Grüße
bastla

P.S.: Wenn Du Code postest, verwende doch bitte die passende Formatierung ...
Bitte warten ..
Mitglied: trmanky
06.09.2011 um 12:52 Uhr
Heyho,

ich habs gelöst =) mit ein bisschen von allem :D

01.
' suchen Makro 
02.
Dim i As Integer 
03.
' D7 Suchzelle kopieren 
04.
 Sheets("Testprotokoll").Select 
05.
    Range("D5").Select 
06.
    Selection.Copy 
07.
    Sheets("Rekorder-SN").Select 
08.
    Range("V1").Select 
09.
    Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _ 
10.
        SkipBlanks:=False, Transpose:=False 
11.
' Inhalt Ergebnis kopieren 
12.
Sheets("Testprotokoll").Select 
13.
    Range("D7").Select 
14.
    Selection.Copy 
15.
    Sheets("Rekorder-SN").Select 
16.
' Suchen und einfügen 
17.
For i = 3 To 4000 
18.
If Cells(i, 2) = Cells(1, 22) Then 
19.
 
20.
Range("C" & i).Select 
21.
ActiveSheet.Cells(ActiveCell.Row, ActiveCell.Column + 7).Activate 
22.
 
23.
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _ 
24.
        SkipBlanks:=False, Transpose:=False 
25.
 
26.
On Error Resume Next 
27.
End If 
28.
Next
Hoffe, die Formatierung hat geklappt.
Ich habe mir als erstes eine Suchzelle "erschaffen". Also eine Zelle im Blatt der Tabelle, in die ich die gesuchte SN jedes mal hineinkopiere. Danach kopiere ich den in die Tabelle einzufügenden Inhalt und beginne mit der Suche nach meiner SN.
Ist die gefunden, springe ich bestimme Schritte(=Zellen) nach rechts und kopiere die Daten hinein.
Das wäre also erledigt, nun habe ich aber ein weiteres Problem, dazu eröffne ich aber ein neues Thema :D

Danke, für die Hilfe, vllt schaust du in mein neues Thema auch gleich nochmal rein

VG
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Bestimmte Zeile einer Textdatei mit Batch auslesen (2)

Frage von PinkFLuffyUnicorn zum Thema Batch & Shell ...

VB for Applications
gelöst Per Vbscript bestimmte Zeile ungeachtet der Nummerierung prüfen (7)

Frage von aletri zum Thema VB for Applications ...

VB for Applications
gelöst Vbscript bestimmte Zeile ungeachtet der Nummerierung löschen (4)

Frage von aletri zum Thema VB for Applications ...

Batch & Shell
gelöst Bestimmte Daten aus CSV per Windows BATCH Datei in .txt Format schreiben lassen. (9)

Frage von freshman2017 zum Thema Batch & Shell ...

Neue Wissensbeiträge
Tipps & Tricks

Wie Hackt man sich am besten in ein Computernetzwerk ein

(29)

Erfahrungsbericht von Herbrich19 zum Thema Tipps & Tricks ...

Humor (lol)

Bester Vorschlag eines Supporttechnikers ever: APC

(15)

Erfahrungsbericht von DerWoWusste zum Thema Humor (lol) ...

Windows Server

Exchange 2010 Active Directory und Windows Server 2016

(4)

Erfahrungsbericht von Herbrich19 zum Thema Windows Server ...

Heiß diskutierte Inhalte
Internet
gelöst Mitarbeiter surft auf unerwünschter Seite - Wie damit umgehen? (49)

Frage von sabines zum Thema Internet ...

LAN, WAN, Wireless
gelöst Eintägige Netzwerkunterbrechung trotz Backupleitung (15)

Frage von iAmbricksta zum Thema LAN, WAN, Wireless ...

Router & Routing
PFsense - Netzverbindung steht, aber kein Internet vorhanden (14)

Frage von aschmid zum Thema Router & Routing ...

Windows Server
Server 2012 R2 - Zugriff Verweigert bei jeglicher Tätigkeit (13)

Frage von DarkLevi zum Thema Windows Server ...