Ich benutze Excel 2003 und ich muss ein Makro erstellen fragt den Benutzer für 5 Eingaben: Datum, Projektnummer, Fehler, Problem und Lösung. Ich habe noch nie Makros verwendet, daher habe ich keine Ahnung, wie ich das programmieren soll. Sobald die Daten vom Benutzer eingegeben wurden, möchte ich, dass sie in die entsprechenden Spalten gehen. Nachdem dies erledigt ist, fordert das Makro den Benutzer nicht zu einer weiteren Eingabe auf, bis das Makro erneut ausgeführt wird.Machen Sie Makro zur Eingabe von Daten in Excel-Tabelle
Antwort
Sub TestMacro()
Range("A2").Select
ActiveCell.FormulaR1C1 = InputBox("Date")
Range("B2").Select
ActiveCell.FormulaR1C1 = InputBox("Project #")
Range("C2").Select
ActiveCell.FormulaR1C1 = InputBox("Fault")
Range("D2").Select
ActiveCell.FormulaR1C1 = InputBox("Problem")
Range("E2").Select
ActiveCell.FormulaR1C1 = InputBox("Solution")
End Sub
Um die aktive Zelle bis a3 (das heißt, die nächste Zeile darunter, wie Sie fragen) bewegen Sie mit dieser:
ActiveCell.Offset(1, -4).Select
Dies scheint nicht zu bewegen, um es in die nächste Zeile, im Grunde möchte ich das Makro durch die 5 Eingänge laufen und dann geben Sie die Daten und zu laufen, und wenn das Makro das nächste Mal auf dem nächsten gestartet wird rudern. –
Ich habe das Minuszeichen auf einer der Zahlen vergessen, aber das habe ich jetzt behoben. – paulmorriss
Es gibt eine eingebaute Möglichkeit, dies zu tun. Setzen Sie Ihre Spaltenüberschriften in Zeile 1 eines Excel-Blatt, wählen Sie Zelle A1, dann gehen Sie auf Form
Dies kann eine restriktive Lösung sein, wie Sie ein Feld auf der Grundlage eines anderen nicht füllen können (Geben Sie zB eine Liste der Probleme an, die vom gewählten Fehler abhängen). Wenn Sie nur etwas schnell und einfach brauchen, dann ist es die Aufgabe
Wenn Sie das Makro zu starten, diesen Code, bevor Sie etwas tun:
Dim i As Integer
Range("a1").Select
Range(Selection, Selection.End(xlDown)).Select
i = Selection.Rows.Count
Dies setzt voraus, dass Sie immer einen gewissen Wert in ‚A1‘ haben und dass es keine leeren Zeilen gibt, bis Sie das Ende der gültigen Zeilen der eingegebenen Daten erreicht haben.
An diesem Punkt haben Sie den Wert "i", der gleich der Anzahl der Zeilen ist, die bereits Daten enthalten.
Dann können Sie Christian Payne obigen Code verwenden, aber ändern die
Range("A2").Select
zu
Cells(i + 1, 1).Select
Dieses Makro ermöglicht Daten in die nächste leere Zeile unterhalb Ihre bereits vorhandenen Daten zu platzieren.
Würde so etwas tun, was Sie brauchen?
- 1. machen Sie mein Makro nicht doppelt Ergebnisse
- 2. Akzeptieren von Eingabe von Benutzer mit Makro
- 3. Makro zur Erkennung von WinRT?
- 4. Machen Sie einen Knopf Makro, das Paste eine Spalte von Daten nach meiner letzten Kolumne
- 5. Machen Sie eine Eingabe un-klickbare
- 6. Stream zur Eingabe auswählen
- 7. XCode-Präprozessor Makro zur Konfiguration?
- 8. Ordnungsgemäße Methode zur Verwendung in einem Makro
- 9. Laravel: Eingabe von Daten in das Eingabe :: alle()
- 10. Machen Sie tkinter Etikett aktualisieren in festgelegten Zeitintervallen ohne Eingabe
- 11. Machen Sie die Eingabedaten in reguläre Daten
- 12. Excel-Makro: machen Sie eine aufgenommene Zelle weniger spezifisch?
- 13. Eingabe durch css unsichtbar machen?
- 14. Dynamisch Makro von sas Daten Schritt rufen
- 15. extrahieren Daten in exel Blatt mit Makro
- 16. Zur Eingabe von Datum vom Benutzer in Batch-Datei
- 17. Machen Sie 2 Funktionen zur gleichen Zeit
- 18. Makro innerhalb von Makro in C
- 19. Add multiple val zur Eingabe von Klasse
- 20. Ansicht scrollen, wenn Tastatur zur Eingabe in Eingabe-Steuerelement öffnen
- 21. wie ein Makro-Definition zur Laufzeit
- 22. So machen Sie mehrere Anfragen zur gleichen Zeit mit POSTMAN
- 23. Extrahieren Sie Daten aus Textdateien und machen Sie eine Liste von ihnen C#
- 24. Was ist der richtige at-Befehl für Stk zur Eingabe von Daten
- 25. Drucken von Daten aus einer $ watch Eingabe
- 26. VBA-Benutzerformular zur Eingabe von Daten und Nummerierung in der nächsten leeren Zeile
- 27. Benutzer erneut zur Eingabe einer gültigen Eingabe in Java auffordern
- 28. Eingabe von Zeichen in RichTextBox zu langsam, wie schneller machen?
- 29. Android Widget zur Eingabe Dauer
- 30. CSS: Machen Sie Div-Boxen in Bild relativ zur Bildgröße
Vielen Dank, das für die Eingabe der Werte in die aktuelle Zeile funktioniert hat, aber wie würde ich die nächste Reihe von Werten in die nächste Zeile darunter gehen, so dass keine Werte überschrieben werden. Vielen Dank –