Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Eingabeverpflichtung





Frage

Hallo Zusammen, gibt es in Excel die Möglichkeit das ich zur Eingabe in eine Zelle verpflichte um in den Rest der Tabelle etwas eintragen zu können. Zur Verdeutlichung: Ich arbeite in einem Labor. Für die Auswertung unserer Prüfungen Nutzen wir eine Excel-Datei. In jeder Tabelle dieser Datei ist im Kopf der Prüfer und einige Parameter der Prüfung vermerkt. Nun würde ich die Tabelle gerne so Formatieren das Ergebnisse nur dann eingetragen werden können wen der Kopf ausgefüllt ist. Geht das und wen ja wie. Vielen Dank jetzt schon Gruß Trudi

Antwort 1 von want2cu

hallo trudi,

das wird bestimmt gehen und wohl was für die Makro- und VBA-Spezialisten sein.

Vom Ansatz müßte es eigentlich so gehen, dass per Makro geprüft wird, ob in der/den entsprechenden Zellen EIntragungen sind und dann der vorher aktivierte Blattschutz aufgehoben wird.

Da hättest du dann aber das Problem, dass fehlerhafte Eintragungen nicht abgefangen werden sondern die Tabelle auch mit unsinnigen Eintröägen bearbeitet werden kann.
Wenn es im Prinzip immer dieselben Eintragungen sind, könntest du das über eine Auswahlliste erreichen (Daten-Gültigkeit-ZUlassen-Liste).

Jetzt hoffe ich, dass dir einer der VBA-Spezialisten mit einem Makro weiterhelfen kann.
Ansonsten müßtest du halt "zu Fuß" mit dem Makro-Recorder versuchen, die o.g. Ausführungen umzusetzen.

CU
KLaus

Antwort 2 von Guenter

Hallo trudi,

ich kann da Klaus nur zustimmen, das geht ganz sicher mit einem Makro zu machen.

Im einfachsten Fall, wenn etwas in Zelle A1 stehen soll, könnte es heißen:

If [a1].value = "" then MsgBox ("Bitte erst Name in A1 eintragen!")

Das Ganze kann dann mit einem Ereignis für die Tabelle verknüpft werden, zum Beispiel beim speichern oder jedem ändern der Eingabe, usw.

Natürlich kann man auch für die Eingabe gewisse Vorgaben machen, um fehlerhafte Einträge zu vermeiden.

Mit dem Makro-Rekorder kommt man möglicherweise hier nicht so weit.

Gruß
Günter

Antwort 3 von nighty

hi hiltrud

kein prob fuer mich bitte um beispieltabelle mit eventueller beschreibung(per email) oder praezise beschreibung welche zellen konntrolliert werden sollen.

gruss nighty

Antwort 4 von Hiltrud Nilson

Vielen Dank Zusammen,
nighty: email ist unterwegs.

Gruß

Trudi

Antwort 5 von Aliba

Hi Trudi,

eine Möglichkeit ohne VBA, wäre auch die Datengültigkeit
Zum Beispiel wären die Pflichtzellen A1,B1 und C1.

Die Erfassungszellen, also wo die Ergebnisse erfasst werden, markieren, dann
DATEN - Gültigkeit - benuterdefiniert - Formel: =UND($A$1<>"";$B$1<>"";$C$1<>"")
Den Haken bei leeren Zellen ignorieren mußt Du rausnehmen. Dann kannst Du bei Register Fehlermeldung noch einen Text eingeben, wie z.B. ACHTUNG! Der Formularkopf muß ausgefüllt werden.

Wenn nun versucht wird in den Erfassungszellen etwas einzugeben, ohne daß A1,B1 und C1 gefüllt sind, kommt die entsprechende Fehlermeldung

CU Aliba

Antwort 6 von want2cu

@Aliba:
wieder mal ein Super-Praxistipp!
Habe ich gleich ausprobiert und kann es selbst prima brauchen.

Kleine ergänzende Anmerkung: bei "STIL" muss unbedingt die Option STOP gewählt werden. Sonst kann man die Meldung nämlich einfach "wegklicken" und die Eingabe ist dennoch möglich.

CU
KLaus


Antwort 7 von nighty

hi aliba und want2cu

wir koennten ja zusammenarbeiten meine idee, erst mal die einfachste,war die, ein automakro was eine inputbox ausgibt laesst sich leicht abfragen und in die betreffenen zellen uebertragen(die eingabe) betroffene zellen sind b3 und b4 wobei beachtet werden sollte das ab b6 zeilen nachtraeglich eingefuegt werden daher kommt ein blattschutz nicht in frage.es darf also bis b3 und b4 nicht ausgefuellt sind keine moeglichkeit mehr bestehen eventuelle andere zellen anzuspringen.

@aliba
beispieltabelle des fragestellers(da ohne daten)hab ich dir zugeschickt,ich denke das ich bis zum ende des wochenendes erfolge vorzuweisen habe und es waere nett wenn wir unsere ergebnisse tauschen wuerden(koennten), waere klasse bin gespannt auf deine ideen.

gruss nighty

Antwort 8 von nighty

hi aliba

deine emailadresse stimmte bei mir nicht kam zurueck die email ,daher hier die erste bzw. einfachste loesung fuer mich.wie gesagt die erste idee schoener waere doch das die eingabe in den betroffenen zellen erfolgen koennte.
ich arbeite daran.

gruss nighty

Private Sub Workbook_Open()
Dim wert01 As String
Dim wert02 As String
Range("b3").Select
Do
If wert01 = "" Then
wert01 = InputBox("Prüfer :", "bitte um Eingabe !")
End If
If wert01 <> "" Then Exit Do
Loop
Do
If wert02 = "" Then
wert02 = InputBox("Gradient :", "bitte um Eingabe !")
End If
If wert02 <> "" Then Exit Do
Loop
Range("b3") = wert01
Range("b4") = wert02
End Sub


Antwort 9 von Aliba

Hi nighty,

also was Makros und Codes angeht, bin ich ne absolute Niete. Bin mehr der Formelmensch. Makros kann ich zwar noch so über den Rekorder aufnehmen, aber dann ists schon aus.

CU Aliba

Meine Mailaddy sollte aber funzen.



Antwort 10 von want2cu

@Aliba:
das beruhigt mich ja wieder ein wenig, dass ich nicht der einzige bin , der sich mit VBA und Makros nicht so auskennt.
Ich habe es auch eher mit Formeln&CO; für Makros und VBA muss ich stattdessen auf Bücher zurückgreifen, wo es fertige LÖsungen gibt. Dank der beiliegenden Buch-CD´s muss man auch nix abtippen, allenfalls ein wenig an die eigenen Bedürfnisse anpassen. Ich kann eben besser lesen, als VBA :-(

Auch wenn es um Buchtipps zu anderen Themenbereichen geht, bin ich gerne behilflich.

CU
Klaus

Antwort 11 von nighty

hi alle

hier noch eine loesung ohne inputbox tataa !

Private Sub Workbook_Open()
Call Makro02
End Sub

Sub Makro02()
Range("b3") = ""
Range("b4") = ""
Range("b3").Select
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
Call Makro01
End Sub


Sub Makro01()
Do
If Range("b3") = "" Then
Range("b3").Select
Exit Do
Else
Exit Do
End If
Loop
Do
If Range("b4") = "" And Range("b3") <> "" Then
Range("b4").Select
Exit Do
Else
Exit Do
End If
Loop
End Sub

1 modul=makro01=vbaprojekt/diesearbeitsmappe/allgemein-makro01

2 modul=makro02=vbaprojekt/diesearbeitsma ppe/allgemein-makro02

3
modul=Private Sub Workbook_Open()
vbaprojekt/diesearbeitsmappe/workbook- open

4
modul=PrivateSubworksheet_selectionChange=vbaprojekt/tabelle1/worksheet-selektionChange

die abfrage bezieht sich zur zeit auf b3 und b4 !

gruss nighty

p.s.
an alle sn-FANS noch ein schoenes wochenende nicht vergessen meine schreibfehler sind bitte nicht zu beachten.

Antwort 12 von want2cu

@nighty:

<mächtiglautindiehändeklatsch>

Bin wieder mal begeistert und staune ;-)

CU
Klaus

Antwort 13 von nighty

hi alle

trudi und aliba haben email erhalten bzw. die fertige tabelle.

gruss nighty

p.s.
alba`s email ging diesmal zu verschicken

Antwort 14 von Aliba

Hi Nighty,

mail habe ich erhalten. TOlle, sehr elegante Lösung.

CU Aliba

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: