Supportnet / Forum / Tabellenkalkulation
ein paar tipps benötigt
Frage
Hallo,
Ich hätte da ein paar Fragen (eigentlich 3) an die hilfsbereiten Excel-Experten:
1. beim Ausfüllen macht Excel netterweise Vorschläge zur Vervollständigung, allerdings nur mit Übereinstimmungen in der selben [b]Spalte[/b]. Ist dies auch für die Inhalte des gesamten Blatts möglich?
2. in Spalte A stehen 8-stellige Auftragsnumern (xxxx_xxxx)
Wie lassen sich unabsichtliche Doppel-Einträge (in der gleichen Spalte) verhindern. (manuelle Vergabe, die Nummern sind [i]nicht[/i] fortlaufend!)
3. Die genannten Nummern in [b]Spalte[/b] A sollen in einem zweiten Blatt automatisch wiederkehren, und zwar in [b]Zeile [/b]2 nach folgendem Schema:
A1 => A2
A2 => C2
A3 => E2
...
Für sachdienliche Hinweise kann ich leider nur verbale Belohnung bieten! Wenn´s geht ohne VBA-Lösung?
Besten Dank, Werner
Antwort 1 von Topbob
Hi Werner,
Zur Frage drei:
Formel auf Tabelle zwo A2 : =Tabelle1!A2
entsprechend für die anderen.
Topbob
Zur Frage drei:
Formel auf Tabelle zwo A2 : =Tabelle1!A2
entsprechend für die anderen.
Topbob
Antwort 2 von Topbob
Quatsch
=Tabelle1!A1 auf Tabelle zwo A2 natürlich...tschuldigung
Topbob
=Tabelle1!A1 auf Tabelle zwo A2 natürlich...tschuldigung
Topbob
Antwort 3 von wjw
Danke, Topbob!
diese manuelle Variante war mir bekannt, bringt aber kaum Erleichterung, da ich ja für jede Zelle den Links neu einfügen muß. Sowas halbautomatisches wär mir da schon lieber.
Tschö, W.
diese manuelle Variante war mir bekannt, bringt aber kaum Erleichterung, da ich ja für jede Zelle den Links neu einfügen muß. Sowas halbautomatisches wär mir da schon lieber.
Tschö, W.
Antwort 4 von Event
Hallo...;-)
Kannst Dich nicht entscheiden?
Gruß
Zitat:
Sowas halbautomatisches wär mir da schon lieber.
Sowas halbautomatisches wär mir da schon lieber.
Zitat:
Wenn´s geht ohne VBA-Lösung?
Wenn´s geht ohne VBA-Lösung?
Kannst Dich nicht entscheiden?
Gruß
Antwort 5 von wjw
ok, Event, hast mich erwischt! hab keine Ahnung von VBA.
mit halbautomatisch meinte ich eine Formel zum Eingeben.
Gut möglich, daß das so nicht funktioniert.
Klär mich bitte auf!
Hat jemand noch ne Idee zu meiner Frage 2 ?
Wenn nötig, werde ich genauer beschreiben, was ich will
thnx
w.
mit halbautomatisch meinte ich eine Formel zum Eingeben.
Gut möglich, daß das so nicht funktioniert.
Klär mich bitte auf!
Hat jemand noch ne Idee zu meiner Frage 2 ?
Wenn nötig, werde ich genauer beschreiben, was ich will
thnx
w.
Antwort 6 von Event
Hallo
Zu Deinem 2 Problem(chen):
Kopiere folgenden Code in Code-Bereich des Tabellenblattes auf dem er wirken soll:
hier wird bei einer Neueingabe geprüft, ob die Nummer schon vergeben ist.
Alt+F11 öffnet die VBA Umgebung
Strg+r öffnet den Projektexplorer
mit rechter Maustaste dann auf das Tabellenblatt klicken und Code anzeigen auswählen.
Gruß
Zu Deinem 2 Problem(chen):
Kopiere folgenden Code in Code-Bereich des Tabellenblattes auf dem er wirken soll:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim wert$, Bereich As Range
If Mid(Target.Address, 2, 1) <> "A" Or Target.Value = "" Then Exit Sub
wert = Target.Value
Set Bereich = Range(Cells(1, 1), Target.Address)
If WorksheetFunction.CountIf(Bereich, wert) > 1 Then
MsgBox wert & " Bereits vorhanden, Bitte neue Nummer eingeben!", vbApplicationModal
Target.Value = ""
Target.Select
End If
End Sub
hier wird bei einer Neueingabe geprüft, ob die Nummer schon vergeben ist.
Alt+F11 öffnet die VBA Umgebung
Strg+r öffnet den Projektexplorer
mit rechter Maustaste dann auf das Tabellenblatt klicken und Code anzeigen auswählen.
Gruß
Antwort 7 von wjw
Vielen Dank, Event
es kam, wie´s kommen mußte: Du machst Dir Arbeit und ich kann nichts damit anfangen, weil mir VBA neu ist.
Also, Deinen Anweisungen folgend funzt nichts. Ich muß wahrscheinlich den Bereich anpassen, oder?
was heißt:
"1, 1" heißt Spalte A, Zeile 1?
sagen wir meine Einträge stünden in Spalte F, Zeilen 1-100 wie müßte ich Deinen Code anpassen?
Danke für Deine Geduld!
LG, w.
es kam, wie´s kommen mußte: Du machst Dir Arbeit und ich kann nichts damit anfangen, weil mir VBA neu ist.
Also, Deinen Anweisungen folgend funzt nichts. Ich muß wahrscheinlich den Bereich anpassen, oder?
was heißt:
Set Bereich = Range(Cells(1, 1), Target.Address) "1, 1" heißt Spalte A, Zeile 1?
sagen wir meine Einträge stünden in Spalte F, Zeilen 1-100 wie müßte ich Deinen Code anpassen?
Danke für Deine Geduld!
LG, w.
Antwort 8 von Event
Hallo
Gruß
Zitat:
2. in Spalte A stehen 8-stellige Auftragsnumern (xxxx_xxxx)
angepasst an Spalte F :....2. in Spalte A stehen 8-stellige Auftragsnumern (xxxx_xxxx)
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim wert$, Bereich As Range
If Mid(Target.Address, 2, 1) <> "F" Or Target.Value = "" Then Exit Sub
wert = Target.Value
Set Bereich = Range(Cells(1, 6), Target.Address)
If WorksheetFunction.CountIf(Bereich, wert) > 1 Then
MsgBox wert & " Bereits vorhanden, Bitte neue Nummer eingeben!", vbApplicationModal
Target.Value = ""
Target.Select
End If
End Sub
Gruß
Antwort 9 von wjw
Hallo Event,
danke für deine Antwort! immerhin hab ich´s jetzt geschafft in der gleichen Spalte kann ich nicht zweimal den gleichen Eintrag haben. OK! Ich hätte natürlich mehr davon, wenn ich mehr von VBA verstünde. Also du hast "A" durch "F" ersetzt, und Range(Cells 1, 6) ? steht die 6 hier für die Spalte F?
Ich bin natürlich neugierig und frage mich ob du für eine Folgeaufgabe noch zu haben bist. Jetzt wo ich ausschließen kann, dass die gleiche Nr. zweimal vergeben wird kommt mir eine Idee:
die Nr. hat 4x 2 Stellen, die für bestimmte Infos stehen, also
xxyy_ jjmm, wobei xx den Auftraggeber, yy die laufende Job-Nr. für den Kunden, und jjmm Datumsangaben sind.
Siehst du eine Möglichkeit, dass mir Excel bei der Eingabe die nächste noch nicht vergebene Nr. vorschlägt? Es ist vielleicht einfacher für jede Information eine eigene Spalte zu machen?
Danke erst mal für deine Hilfe bis hierher.
Hat jemand noch ne Idee zu meiner Frage Nr. 3?
Dank an alle!
Grüße, w.
danke für deine Antwort! immerhin hab ich´s jetzt geschafft in der gleichen Spalte kann ich nicht zweimal den gleichen Eintrag haben. OK! Ich hätte natürlich mehr davon, wenn ich mehr von VBA verstünde. Also du hast "A" durch "F" ersetzt, und Range(Cells 1, 6) ? steht die 6 hier für die Spalte F?
Ich bin natürlich neugierig und frage mich ob du für eine Folgeaufgabe noch zu haben bist. Jetzt wo ich ausschließen kann, dass die gleiche Nr. zweimal vergeben wird kommt mir eine Idee:
die Nr. hat 4x 2 Stellen, die für bestimmte Infos stehen, also
xxyy_ jjmm, wobei xx den Auftraggeber, yy die laufende Job-Nr. für den Kunden, und jjmm Datumsangaben sind.
Siehst du eine Möglichkeit, dass mir Excel bei der Eingabe die nächste noch nicht vergebene Nr. vorschlägt? Es ist vielleicht einfacher für jede Information eine eigene Spalte zu machen?
Danke erst mal für deine Hilfe bis hierher.
Hat jemand noch ne Idee zu meiner Frage Nr. 3?
Dank an alle!
Grüße, w.
Antwort 10 von Topbob
Hi Werner,
Zu Frage 3)
hmm was halbautomatisches: Wenn es keine Smith & Wesson sein soll ;o)) dann versuch es mal mit der autoausfüllenden Funktion. Bekommst Du wenn Du am unteren rechten Rand der Zelle ansteuerst bis die Cursorgestalt ein schmales schwarzes Kreuz wird. Dann bei gedrückter Maustaste den ersten von Hand eingegebenen Formelwert herabziehen. Nun die Werte an die gewünschte Stellen schieben mit der Ausschneiden-Funktion. Die bekommst Du am Zellrand, wenn der Cursor ein Pfeil wird, bei gedrückter linker Maus den Zellinhalt an die gewünschte Stelle schieben. So musst Du wenigstens nicht jede Formel von Hand schreiben.
Gruß Topbob
Zu Frage 3)
hmm was halbautomatisches: Wenn es keine Smith & Wesson sein soll ;o)) dann versuch es mal mit der autoausfüllenden Funktion. Bekommst Du wenn Du am unteren rechten Rand der Zelle ansteuerst bis die Cursorgestalt ein schmales schwarzes Kreuz wird. Dann bei gedrückter Maustaste den ersten von Hand eingegebenen Formelwert herabziehen. Nun die Werte an die gewünschte Stellen schieben mit der Ausschneiden-Funktion. Die bekommst Du am Zellrand, wenn der Cursor ein Pfeil wird, bei gedrückter linker Maus den Zellinhalt an die gewünschte Stelle schieben. So musst Du wenigstens nicht jede Formel von Hand schreiben.
Gruß Topbob

