Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
380to384
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
380to384
380to384
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Version ist Excel 2002

Version ist Excel 2002
14.02.2004 13:41:29
Johannes M.
Hi hi,
erst mal danke das ihr Usern helft bei Problemen, und das Ehrenamtlich !?
Ich habe folgendes Problem, ich hab sehr viel Schreibarbei vor mir, möchte dies aber per Makro verkürzen. Ich habei eine Tabelle mit 2 Spalten, auf der Linken Seite ist Ein Begriff (in unserem Fall eine Farbe, Apricot) und auf der rechten seite soll die Abk. für diese stehen, nun muss ich die Ankürzung auf 500 Blätter eintragen, dies aber sehr viel Schreibarbeit kosten würde. Ich wollte schon versuchen ein wenig zu prgen, da ich Erfahrung mit VB 6.o habe, aber ich weiss leider die VB-Sprache für Zellen und Spalten nicht, mein Vorschlag sehe so aus:
if zelle.text = "apricot" then
zelle.text ( 1 + spalte rechts daneben) = "- ap"
end if
sieht in etwa so aus:
[ apricot | -ap ]
[ Blau | -Bl ]
[ Grün | -gr ]
usw...
Wenn ich einmal weiss wie die Bezeichnungen sind, kann ich alles weiter selber progen!
ich bin euch jetzt schon zu dank verpflichtet, euer Johannes M.

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Version ist Excel 2002
14.02.2004 13:53:54
Nepumuk
Hallo Johannes,
If Cells(Zeilennummer, Spaltennummer) = "apricot" then Cells(Zeilennummer, Spaltennummer + 1) = "-ap"
Gruß
Nepumuk
AW: Version ist Excel 2002
14.02.2004 13:54:58
NE
Hallo Johannes,
ein Vorschlag, wär dies ein Ansatz:

Sub abk()
Dim cell As Range
For Each cell In Selection
If Not IsEmpty(cell) Then cell.Offset(0, 1) = "-" & Left(cell.Value, 2)
Next
End Sub

lg Nancy
AW: Version ist Excel 2002
14.02.2004 13:59:52
andre
hallo johannes,
das forum ist ehrenamtlich, ein teil der antworter tut es außerhalb des forums auch (frei-)beruflich - siehe profile
cellen spricht man an mit
range("b1")
cells(1,2)
oder variabel
range(zelle)
cells(zeile,spalte)
oder mit offset
range("b1").offset(1,2)
cells(zeile,spalte).offset(zeiloffs,spaloffs)
usw.
die adresse der aktiven zelle bekommt man mit activecell.address ...
gruss andre
Anzeige
AW: Version ist Excel 2002
14.02.2004 14:27:53
Johannes M.
Also erstmlas vielen Dank für die schnelle Hilfe, die waren wirklich sehr schnell da die Antworten! Vieleicht weil heut samstag ist :D
Nun die Formel hab ich so eingetragen:
If Cells(28, 2) = "Blau" Then
Cells(28, 2 + 1) = "- bl"
und sie funktioniert auch, darüber bin ich sehr sehr Happy. Aber, jetzt würde ich mich ja auch dort totschreiben, jedes mal eine If then finktion ist mühselig.
if cells(28, 2) = "Gold" then
cells(28, 2 + 1) = "- go"
if cells(28, 2) = "Grün" then
cells(28, 2 + 1) = "-gü"
usw...
Gibt es da nicht eine andere Anwendung die ich machen kann?
zum Beispiel: Ist in der reihe irgendwo blau vorhanden,
dann schreibe in die spalte eins rechts daneben die Abkürzung!
oder vieleciht geht das ganz noch kürzer: Ist in dem Blatt irgendwo Blau vorhanden,
dann schreibe in die Spalte eins rechts daneben die Abkürzung!
Also, nochmals vielen Dank, hab noch nie so ne schnell hilfe gesehn!
Mit sehr freundlichen Grüßen, Johannes M.
Anzeige
AW: Version ist Excel 2002
14.02.2004 14:33:49
Josef Ehrensberger
Hallo Johannes!
Z.B. So.


Sub abkuerzung()
Dim rng As Range
Dim lngE As Long
lngE = Range("B65536").End(xlUp).Row
For Each rng In Range("B1:B" & lngE) 'Spalte mit Einträgen
rng.Offset(0, 1) = "- " & Left(rng, 2)
Next
End Sub

     Code eingefügt mit Syntaxhighlighter 2.5

Gruß Sepp
Anzeige
AW: Version ist Excel 2002
14.02.2004 14:41:10
Johannes M.
Hallo Sepp,
danke für die Hilfe, aber es tut mir leid, ich kann damit nichts anfangen, ich weiss nicht wo ich was eintragen soll. Wo geb ich den die Farbe ein, und wo die Abkürzung. Und wo steht welche Zeile oder Spalte, vielciht sogar blatt überprüft wird. Ist nicht Böse gemeint, bloss davon hab ich jetzt gar nichts verstanden! Ich kenn mich mit VB aus, aber nicht so gut das jetzt aufzuschlüsseln, erst recht nicht mit Excel Formeln!
Mfg: Johannes M.
AW: Version ist Excel 2002
14.02.2004 15:00:28
Josef Ehrensberger
Hallo Johannes!
Warum sollte ich böse sein?
Nochmal mit Kommentaren.


Sub abkuerzung()
'angenommen die Farben stehen in Spalte "B"
'sonst "B" im Code ändern
Dim rng As Range
Dim lngE As Long
With ActiveSheet
'bezieht sich auf das aktive Tabellenblatt
lngE = .Range("B65536").End(xlUp).Row
'letzte Zeile mit Eintrag in Spalte "B" ermitteln
For Each rng In .Range("B1:B" & lngE)
'Jede Zelle in der Spalte mit Einträgen ab Zeile 1 wird durchlaufen
'sonst "B1:B" anpassen z.B. "B28:B" um erst in Zeile 28 zu beginnen
rng.Offset(0, 1) = "- " & Left(rng, 2)
'in die Zelle neben dem Eintrage wird "- " und die
'ersten beiden Buchstaben des Eintrages geschrieben
Next
End With
End Sub

     Code eingefügt mit Syntaxhighlighter 2.5

Wenn die Abkürzungen nicht immer aus den ersten zwei Buchstaben bestehen,
dann müsste man auch diese auch noch definieren!
Gruß Sepp
Anzeige
AW: Version ist Excel 2002
14.02.2004 15:58:01
Johannes M.
quote:
Wenn die Abkürzungen nicht immer aus den ersten zwei Buchstaben bestehen,
dann müsste man auch diese auch noch definieren!
- end
Hehehe :D und wie definier ich die!
Ich denke das war meine Letzte frage, den dann hab ich alles, ich danke auch allen viel mals. Ihr habt mir sehr viel Schreib arbeit abgenommen! Macht weiter so, have a nice day, cya. Mfg Johannes M.
AW: Version ist Excel 2002
14.02.2004 16:07:32
Josef Ehrensberger
Hi,
Z.B. so.


'statt
rng.Offset(0, 1) = "- " & left(rng, 2)
'schreibst Du z.B.so
Select Case rng
Case "apricot"
rng.Offset(0, 1) = "- ap"
Case "Blau"
rng.Offset(0, 1) = "- Bl"
Case "Grün"
rng.Offset(0, 1) = "- Gr"
'..usw...
Case Else
End Select

     Code eingefügt mit Syntaxhighlighter 2.5

Gruß Sepp
Anzeige
AW: Version ist Excel 2002
14.02.2004 15:07:54
NE
Hi Johannes,
in dem Beispiel stehen deine Farben in Spalte B untereinander,
rot
grün
blau
etc
...jetzt lass halt einfach das Makro laufen ;-)
In meinem Beispiel, markiere die Zellen mit den Farben & dito.
BTW, zur Formellösung von Micha, kopier die Formel
in die Zelle neben der mit der Farbe.
Oder hab' ich jetzt was falsch verstanden ... ????
Gruss
Nancy
AW: Version ist Excel 2002
14.02.2004 14:37:10
y
hi Johannes,
ne formel ist zu einfach ?
=WENN(A1<>"";"-"&LINKS(A1;2);"")
cu Micha
AW: Version ist Excel 2002
14.02.2004 14:43:18
Johannes M.
Hab ich schon erwähnt das ich mich mit Excel Formel überhaupt nicht auskenne :D es wäre nett, wenn immer ein Beispiel dabei wäre, an denen kann ich SEHR gut erkennen was ich abändern muss, die daten sind ja oben! Dankeschön.
Mfg: Johannes M.
Anzeige
AW: Version ist Excel 2002
14.02.2004 15:02:51
y
hi Johannes,
du hattest als level EXCEL gut abgegeben !!
na wie dem auch sei
schmeiss mal meine formel in b1
und schreib in a1 blau
blubb...und in a2 erscheint -bl
cu Micha
AW: Version ist Excel 2002
14.02.2004 16:05:18
Heinz Ulm
Hallo Johannes,
warum nicht mit einer einfachen Formel?
="-"&links(a2;2) schreibt -ap wenn in A2 apricot steht
ein mal Schreiben und dann mit Doppelklick auf den Ziehpunkt (vorausgesetzt es sind keine leeren Zellen dabei) nach unten schicken.
oder
Die Formel als Namen definieren EINFÜGEN -Namen definieren; Name zum Beispiel F;
bezieht sich auf: ="-"&LINKS(a2;2)
Dann in eine Zelle =F, daraufhin werden die ersten beiden Buchstaben der davor liegenden Zelle, wenn sie in B2 geschrieben war, ausgelesen, das - davor geschrieben und ab nach unten mit Doppelklick.
Gruß Heinz
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige