Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Exel Makro Kurs Kleine Makros Im Quellcode Fuer Anfaenger Zum Sammeln





Frage

hi alle exelfans zeigt her eure makros mein bestes ist von (sicci) Beschreibung : ermittelt die zuletzt beschriebene zeile ,wie spalte lzeile =zeilennummer lspalte=spaltenbezeichnung Set LastCell = ActiveSheet.Cells.SpecialCells(xlLastCell) ALTa = LastCell.Row a = LastCell.Row Do While Application.CountA(Rows(a)) = 0 And a <> 1 a = a - 1 Loop ALTa = a ALTb = LastCell.Column b = LastCell.Column Do While Application.CountA(Columns(b)) = 0 And b <> 1 b = b - 1 Loop ALTb = b lzeile = ALTa + 2 lspalte = ALTb End If

Antwort 1 von michael oberley

hi alle

Beschreibung :

Ermittelt ob eine date vorhanden ist oder nicht.dateiname ist in diesem falle test.txt ind´der directorie c:\test

Name$ = "test.txt"
With Application.FileSearch
.NewSearch
.LookIn = "c:\test"
.SearchSubFolders = True
.Filename = Name$
.MatchTextExactly = True
.FileType = msoFileTypeAllFiles
If .Execute() > 0 Then
Range("a2") = "datei vorhanden"
Else
Range("b2") = "datei nicht vorhanden"
End If
End With


gruss nighty

Antwort 2 von michael oberley

hi alle exelfans

Beschreibung :
Zeitgesteuertesverhalten nach x sekunden beendet.

Sub Makro01()
Dim t0$
Dim tt0, tt1, sekunden
InputBox "Wieviele Sekunden ", sekunden
t0$ = Mid$(Time$, 7, 2)
tt0 = Val(t0$)
tt1 = tt0
Do
t0$ = Mid$(Time$, 7, 2)
tt0 = Val(t0$)
If tt0 = tt1 + sekunden Then
Exit Do
End If
Loop
End Sub


gruss nighty

Antwort 3 von michael oberley

hi alle

Beschreibung : ermittelt von zwei zellen die kleinere zahl und stellt sie rot dar oder wenn groesser schwarz.
in diesem falle die zelle
d8(rot oder schwarz) mit der zelle d20.

If Range("d" & 8) < Range("d" & 20) Then
Range("d" & 8).Select
Selection.Font.ColorIndex = 3
Else
Range("d" & 8).Select
Selection.Font.ColorIndex = 11
End If

gruss nighty

Antwort 4 von michael oberley

hi alle

Beschreibung :
ermittelt den jeweiligen benutzernamen.

Sub Makro1()
a$ = Application.UserName
a1$ = "Benutzer "
a2$ = " !"
Range("a1") = a1$ + a$ + a2$
If a$ = "Nighty" Then
Workbooks.Close SaveChanges:=False
End If
End Sub

gruss nighty

Antwort 5 von michael oberley

hi alle
(schniff nicht so draengeln leute)

Beschreibung :

Ermittelt 6 zahlen
randomize timer ist sehr wichtig damit sich die zufallsreihenfolge nicht wiederholt so wird als startpunkt die jeweils aktuelle uhrzeit benutzt.

Sub Makro1()
Dim a1 As Integer, a2 As Integer
Randomize Timer
For a2 = 1 To 6
Range("a" & a2) = Int(Rnd * 6) + 1
Next a2
End Sub

gruss nighty

Antwort 6 von michael oberley

hi alle

Ermittelt diesmal 6 zahlen zwichen 10 und 30.

Sub Makro1()
Dim a1 As Integer, a2 As Integer
Randomize Timer
For a2 = 1 To 6
Range("a" & a2) = Int(Rnd * 20) + 10
Next a2
End Sub

gruss nighty

Antwort 7 von michael oberley

hi alle

Beschreibung :

ein exelfeld von hundert zeilen und 20 spalten werden abgearbeitet.

zeilen =t1 es werden 100 zeilen abgetastet

spalten=t0 es werden 20 spalten abgetastet

da die spalten meist a-z sind greife ich in diesem falle auf den allseits beliebten asci code zurueck
a=chr$(65)
b=chr$(66) usw.

Sub Makro1()
dim t0 as integer
dim t1 as integer
For t0 = 65 To 85
For t1 = 1 To 100
Range("" + Chr$(t0) & t1)="reihe ";t1;" spalte ";t0
Next t1
Next t0
End Sub

gruss nighty

Antwort 8 von michael oberley

hi alle

Beschreibung :

es werden 1 million zahlen ermittelt und die am haeufigsten vorkommende ausgegeben.



Sub Makro1()
Dim a1 As Integer, a2 As Integer, a3 As Integer
Dim zahl(1000000) As Integer
Dim zahl1(49) As Integer, superzahl As Integer
Dim a4 As Integer, a5 As Integer
Randomize Timer
For a5 = 1 To 1000
For a2 = 1 To 1000
a3 = Int(Rnd * 49) + 1
zahl1(a3) = zahl1(a3) + 1
Next a2
Next a5
For a4 = 1 To 49
If zahl1(a4) > superzahl Then
superzahl = zahl1(a4)
c = a4
End If
Next a4
Range("a" & 1) = "Die aus 1 million am haeufigsten gezogene zahl ist die " + " " + Str$(c) + " sie wurde " + Str$(superzahl) + " mal gezogen"
End Sub


gruss nighty

Antwort 9 von michael oberley

hi alle

von dem letzten makro wird dieses nicht gebraucht.zeile entfernen.

dim zahl(1000000) as integer

gruss nighty

Antwort 10 von _gau_

Unkompliziert und kurz...

Da ich oft Dateien im alten Format weitergeben muß:


Sub Speichern_95()
' Speichern der Arbeitsmappe im Format Excel5.0/95 (Excel7)
Dim fname As String
    fname = Mid(ActiveWorkbook.name, 1, Len(ActiveWorkbook.name) - 4)
    ActiveWorkbook.SaveAs Filename:=fname & "_95", FileFormat:=xlExcel7
End Sub

Gleichzeitig ändere ich damit den Namen der Datei in "AlterName_95.xls".

[gau]

Antwort 11 von michael oberley

hi alle

nicht so schlaff leute gaehnnnn,das kann doch nicht alles sein was ihr drauf habt.
seid cool und postet was das zeug(rechner)hergibt gell.

@alle user (nicht betreuer)gebt euch muehe,wie sagte mal ein erfinder ES IST NICHT GUT GENUG SICH MUEHE ZU GEBEN ES REICHT GERADE MAL WENN ES PERFEKT IST.

gruss nighty

Antwort 12 von michael oberley

hi alle

Beschreibung :
deckt ein zwei dimensionales exelfeld ab sucht nach farbigen dargestellten zahlen und addiert diese dann in diesem falle rot und blau auf spalten a-b und zeilen drei bezogen bei weiteren fragen zwecks anpassung bitte
melden.


Sub Makro1()
Dim zell(20)
For t% = 65 To 66
For t1% = 1 To 3
If Range(Chr$(t%) & t1%).Font.ColorIndex = 3 Then
rot = rot + 1
zell(Range(Chr$(t%) & t1%).Font.ColorIndex) = zell(Range(Chr$(t%) & t1%).Font.ColorIndex) + Range(Chr$(t%) & t1%)
End If
If Range(Chr$(t%) & t1%).Font.ColorIndex = 11 Then
blau = blau + 1
zell(Range(Chr$(t%) & t1%).Font.ColorIndex) = zell(Range(Chr$(t%) & t1%).Font.ColorIndex) + Range(Chr$(t%) & t1%)
End If
Next t1%
Next t%
Range("a4") = zell(3)
Range("b4") = zell(11)
End Sub

gruss nighty

Antwort 13 von Koebi

nighty im Makrorausch!:-))

Hier auch eins. Ich weiss zwar nicht, wer sowas braucht, aber immerhin funktioniert es.

Inhalt der Zelle als Kommentar:

Sub Zellwert_als_Kommentar()
ActiveCell.Select
    ActiveCell.ClearComments
    ActiveCell.AddComment
    ActiveCell.Comment.Text Text:=ActiveCell.Text
End Sub


Der Kommentar kann nun ausgedruckt werden über Datei / Seite einrichten / Tabelle, im Kombinationsfeld "Kommentare" die Option "Am Ende des Blattes" wählen.

Gruss
Köbi



Antwort 14 von michael oberley

hi köbi

du warst meine rettung uebrigens nett dein makro.

gruss nighty

Antwort 15 von michael oberley

hi alle

entfernt alle vorkommenen zeichen die zur zeit so aussehen "'" beliebig zu veraendern auf beliebig grosse tabellen bezogen statt "'" zeichen laesst es sich austauschen oder asci einsetzen.

Sub Makro1()
Set LastCell = ActiveSheet.Cells.SpecialCells(xlLastCell)
alta = LastCell.Row
A = LastCell.Row
Do While Application.CountA(Rows(A)) = 0 And A <> 1
A = A - 1
Loop
alta = A
altb = LastCell.Column
b = LastCell.Column
Do While Application.CountA(Columns(b)) = 0 And b <> 1
b = b - 1
Loop
altb = b
lzeile = alta
lspalte = altb
For t% = 65 To 65 + lspalte - 1
For t1% = 1 To lzeile
laenge% = Len(Range(Chr$(t%) & t1%))
For t2% = 1 To laenge%
If Mid$(Range(Chr$(t%) & t1%), t2%, 1) = "'" Then
Range(Chr$(t%) & t1%) = Mid$(Range(Chr$(t%) & t1%), 1, t2% - 1) + Mid$(Range(Chr$(t%) & t1%), t2% + 1, laenge%)
laenge% = laenge% - 1
End If
Next t2%
Next t1%
Next t%
End Sub



gruss nighty

Antwort 16 von _gau_

Durch einen anderen Thread angeregt, hier eine benutzerdefinierte Funktion (kein Makro/Prozedur!)

Vielleicht braucht jemand sowas:

Public Function DateiName(Optional ByVal Anzeige As Integer = 0) As String
' Funktion zur Rückgabe des Pfades und/oder des Namens der Arbeitsmappe
' [gau] 06/2002
Select Case Anzeige
    Case 0
        DateiName = ActiveWorkbook.Path + "\" + ActiveWorkbook.Name
    Case 1
        DateiName = ActiveWorkbook.Path
    Case 2
        DateiName = ActiveWorkbook.Name
    Case Else
        DateiName = ActiveWorkbook.Path + "\" + ActiveWorkbook.Name
End Select
End Function

Verwendung in einer Zelle:

=Dateiname()
ergibt Pfad und Name der Arbeitsmappe

=Dateiname(0)
dasselbe ;-)

=Dateiname(1)
ergibt Pfad der Arbeitsmappe

=Dateiname(2)
ergibt Name der Arbeitsmappe

[gau]

Antwort 17 von gresti

Kein Macro; aber schon Favorisiert.
Was es alles giebt....
Danke
Gresti

Antwort 18 von michael oberley

hi alle nochmal

ich vergass wohl einige erklaerungen fuer makro NR. 15
es sieht im ersten augenblick so aus als sei es eine einfache ersetztfunktion dies ist so nicht ganz richtig dieses entfernt STEUERZEICHEN die vielleicht durch importe oder vorgehende versionen sich veraendert haben und nun mit der neuen version sichtbar sind auf dem bildschirm oder aehnliche handicaps.ich gehe hier einen anderen weg,da sich steuerzeichen anders verhalten als normale zeichen ,hier werden die normalen zeichen aus der zelle herausgeholt ,anschliessend wieder zusammengesetzt und die zelle neu beschrieben somit die steuerzeichen ueberschrieben werden.
die tabellenlaenge ist ohne belang
die tabellenbreite ist der letzte buchstabe im alphabet.somit erfolgt eine automatische abtastung was als ergebnis die jeweilige grenze angibt
und nun auf die ermitttelten grenzen bezogen alle zellen abarbeitet.

gruss nighty


Antwort 19 von nighty

hi alle

eine inputbox die 1-10 beliebig lange zeichen kolonnen aufnehmen kann getrennt durch ein leerzeichen wobei die ausgabe in zelle a1-a10 erfolgt.

Sub Makro1()
Dim wert01 As String
Dim wert(10)
b = 1
wert01 = InputBox("bitte eingabe", "exel")
For t = 1 To Len(wert01)
If Mid$(wert01, t, 1) = " " Then
b = b + 1
Else
wert(b) = wert(b) + Mid$(wert01, t, 1)
End If
Next t
For r = 1 To 10
Range("a" & r) = wert(r)
Next r
End Sub

gruss nighty

Antwort 20 von nighty

hi alle

ermittelt alle betriebsbereiten laufwerke und gibt diese in spalte a aus.

gruss nighty


Option Explicit
Private Declare Function GetLogicalDriveStrings Lib "kernel32" Alias "GetLogicalDriveStringsA" _
(ByVal nBufferLength As Long, _
ByVal lpBuffer As String) As Long
Sub Get_Logical_Drive_String()
Dim DrvString As String
Dim TotDrvs As Long
Dim Position As Integer
Dim lf(20), t, a
TotDrvs = GetLogicalDriveStrings(0&, DrvString)
DrvString = String(TotDrvs - 1, " ")
TotDrvs = GetLogicalDriveStrings(TotDrvs, DrvString)
For t = 1 To Len(DrvString)
If Mid$(DrvString, t, 1) = ":" Then
a = a + 1
Range("a" & 0 + a) = "Laufwerk " + Mid$(DrvString, t - 1, 1 + 1) + " sind vorhanden"
End If
Next t
End Sub


Antwort 21 von kaldera33

hi leute
ich bin noch nicht so lange hier auf den Seiten(übrigens coole sache hier!!!)
also hier auch eins von mir:
das Macro kopiert nur die Sichtbaren Zellen wenn sich ausgeblendete dazwischen befinden...

Sub NurSichtbarKopieren()
Selection.SpecialCells(xlCellTypeVisible).Copy
End Sub

klein fein und fast täglich zu gebrauchen..
mfg kaldera33

Antwort 22 von nighty

hi alle

bei diesem makro wird die datei gespeichert,als dateiname wird benutzt
test + datum(achtstellig) + uhrzeit(sechsstellig)
beispiel = test24062002152603

Sub Makro2()
name0$ = "test"
Name$ = Time$
name1$ = Mid$(Name$, 1, 2) + Mid$(Name$, 4, 2) + Mid$(Name$, 7, 2)
name2$ = Date$
name3$ = Mid$(name2$, 4, 2) + Mid$(name2$, 1, 2) + Mid$(name2$, 7, 4)
name4$ = name0$ + name3$ + name1$
Range("a1") = name4$
ActiveWorkbook.SaveAs Filename:=name4$ + ".xls", FileFormat:=xlNormal _
, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
CreateBackup:=False
End Sub

Antwort 23 von peko

Hi nighty und alle anderen!

Eure Makro-Sammlung ist wirklich informativ und lehrreich. Auch für mich ist manches Neue dabei. Danke.

Gruß peko


Antwort 24 von thebob

hi @all,

hier mein kleiner Beitrag für das Jahr 2002: DM-Beträge ausgewählter Zellen werden autom. in EUR umgewandelt; dabei wird NICHT das Excel2000-AddIn verwendet; Vorteil: die Excel-Datei ist auch in früheren Versionen verwendbar.

Sub EURO_Umrechnung()
Dim c As Range
On Error Resume Next
For Each c In Selection
    c = c / 1.95583
    c.NumberFormat = "#,##0.00 [$€-1]_ ;[Red]-#,##0.00 [$€-1] "
Next c
End Sub


bye Bob

Antwort 25 von thebob

Hi,

hier noch 2 ähnliche Makros:

1.) Doppelte Zellen einer Auswahl löschen:

Sub DoppEinträgeAusListeEntf()
    Dim r, c As Variant
    Set r = Selection.Cells
    For c = r.Cells.Count To 1 Step -1
        If Application.CountIf(r, r(c)) <> 1 Then r(c).Value = ""
    Next c
End Sub


2) Alle doppelten Zellen einer Auswahl rot markieren:

Sub DoppEinträgeAusListeMarkieren()
    Dim r, c As Variant
    Set r = Selection.Cells
    For c = r.Cells.Count To 1 Step -1
    If Application.CountIf(r, r(c)) <> 1 Then r(c).Interior.ColorIndex = 3
    Next c
End Sub


Viel Spaß
Bob

Antwort 26 von nighty

hi alle

wie ich so mitbekam ist die zeitberechung fuer die arbeitszeit mit plus und minuswerten wohl ein problem daher hier MEINE ERSTE FORMEL die das problem beseitigt.

a2=sollzeit
b2=istzeit
c3=differenz in (plus ohne vorzeichen minus mit vorzeichen)

so hoffe ich doch das es zu gebrauchen ist zudem JA MEINE ERSTE FORMEL IST ist ja kinderleicht hihi.

=WENN(A1>B1;(ABRUNDEN(B2;0)*60+RECHTS(B2;2))-(ABRUNDEN(A2;0)*60+RECHTS(A2;2));WENN(B1>A1;(ABRUNDEN(A2;0)*60+RECHTS(A2;2))-(ABRUNDEN(B2;0)*60+RECHTS(B2;2))))

gruss nighty

Antwort 27 von want2cu

hallo excel-freaks,

ich bin leider weder ein Makro- noch ein VBA-Experte.

Zu diesem Thema hätte ich aber einen Super-Buchtipp, in dem über 750 Makros zu allen möglichen und unmöglichen Zwecken stehen. Eine CD-ROM ist praktischerweise mit dabei, so dass man nix abtippen muss. Allenfalls noch das Makro an die eigenen Bedürfnisse anpassen und fertig. Ich bin von diesem Buch jedenfalls begeistert. Und hier meine Rezension dazu:

Titel: Excel-VBA-Programmierung
Untertitel: mit 850 Makros für Excel 97/2000/2002
Autor: Bernd Held
Seiten: 854
Herausgeber: Markt&Technik
Bestell-Nr. 3-8272-6185-6
Sparte: EXCEL/VBA
Preis: € 49,95
Wertung: Super-Praxisbuch für fortgeschrittene Excel-Anwender mit einer Fülle fertiger Makros und Anregungen

Ein wahrer Leckerbissen erscheint bei Markt&Technik in der Kompendium-Reihe: EXCEL-VBA-Programmierung von Bernd Held zum Preis von e 49,95.

Der Untertitel verrät bereits, worum es in den meisten Kapiteln geht: 850 Makros für Excel 97/2000/2002. Die Grundlagen der VBA-Programmierung werden anhand praxisnaher Beispiele vermittelt.

Es beginnt bei der einzelnen Tabellenzelle und endet bei äußerst komplexen Anwendungen für den Power-User. Vorkenntnisse sind also erforderlich.

Die Beispiele greifen immer wieder Problemstellungen auf, an denen so mancher Excel-Anwender selbst schon lange geknobelt oder sich gar die Zähne ausgebissen hat.

Bernd Held erklärt sehr gut verständlich und nachvollziehbar, wie es genau gemacht wird. Sehr praktisch: die dem Buch beiliegende CD enthält alle Beispiele und etliche Tools und Utilities. Ausserdem die Top20 Makros und als Schmankerl ein komplexes Spezial-Add-In von Bernd Held.

Keine leichte Lektüre für zwischendurch, sondern zugleich VBA-Einführung, Arbeitsbuch und Nachschlagewerk.

Fazit: Super-Praxisbuch für fortgeschrittene Excel-Anwender mit einer Fülle fertiger Makros und Anregungen

Vielleicht ist das ja was für den einen oder anderen der Excel-Elite ;-)

CU
Klaus

Antwort 28 von nighty

hi alle

so koennte es wahrscheinlich sein das man sich von anderen ideen nicht laben kann so wird das rad halt immer wieder neu erfunden und man darf behaarlich schauen wie die kreativitaet und phantasie doch einen anschaun.

gruss nighty

Antwort 29 von want2cu

@nighty:
ich hoffe, ich habe niemanden hier verärgert oder gekränkt?

Ich finde alle diejenigen echt klasse, die VBA und Makros so beherrschen wie in den o.g. Beispielen. Ich selber kann das leider nicht. :-(
Dafür lese ich als "Bücherwurm" ne ganze Menge und wollte zu diesem Thema nur einen Buch-Tipp beisteuern.
Ich würde mich allerdings freuen, wenn der eine oder andere beim Autorennamen Bernd Held doch ein wenig neugierig geworden ist ;-)

CU
KLaus


Antwort 30 von nighty

hi alle

@klaus
danke fuer den tip

leider ist die formel noch fehlerbehaftet mal wieder zu frueh reingestellt grummel ihr verzeiht hoffentlich.

gruss nighty

p.s.
mit den formeln kann ich mich aber nicht so recht anfreunden zu viele einschraenkungen.


Antwort 31 von nighty

hi alle

drei graue haare mehr und somit keine formeln mehr(zu obigen versuch grrr) hier eines meiner geliebten makros(ahhh viel besser).

Beschreibung:
rechnet die differenzen von z.b. arbeitszeiten aus.ausgehend von der aktiven zelle(egal welche aus der tabelle) werden die von der aktivenzelle die ersten 2 linksbuendigen
berechnet.erste linke zelle von der aktiven aus sollte die geleistete stunden/minuten sein,zweite linkezelle von der aktiven ausgehend sollte die soll stunden/minuten sein.
die zellen sollten als zahl(2 stellig formatiert sein).stunden und minuten werden so geschrieben als beispiel 1,01 eine stunde und 1 minute.

zum zerpfluecken ist der code auch gut geeignet es beinhaltet fehlerabfrage und modulansprung.

gruss nighty

p.s.
und nie wieder formeln ES LEBE VB


Sub Makro1()
On Error GoTo fehler
adress$ = ActiveWindow.RangeSelection.Address
adress1 = Len(adress$)
For mo = 1 To adress1
If Mid$(adress, mo, 1) = "$" Then
llp = llp + 1
Else
If llp = 1 Then
spalte$ = spalte$ + Mid$(adress, mo, 1)
End If
If llp = 2 Then
zeile$ = zeile$ + Mid$(adress, mo, 1)
zeile1 = Val(zeile$)
End If
End If
Next mo
b0 = Asc(spalte$)
Range(Chr$(b0) & zeile1) = ""
b0 = b0 - 2
GoSub modul1
c4 = c333
b0 = b0 + 1
GoSub modul1
b0 = b0 + 1
If c4 > c333 Then c5 = c4 - c333
If c333 > c4 Then c5 = c333 - c4
c6 = c5
Do
If c6 < 60 Then
Exit Do
Else
b = b + 1
c6 = c6 - 60
End If
Loop
b1$ = Str(b)
If Mid$(b1$, 1, 1) = " " Or Mid$(b1$, 1, 1) = "-" Then b1$ = Mid$(b1$, 2, Len(b1$))
b2$ = Str(c6)
If Mid$(b2$, 1, 1) = " " Or Mid$(b2$, 1, 1) = "-" Then b2$ = Mid$(b2$, 2, Len(b2$))
a23$ = b1$ + "." + b2$
a24 = Val(a23$)
If Len(b2$) = 1 Then b2$ = "0" + b2$
If Range(Chr$(b0 - 1) & zeile1) > Range(Chr$(b0 - 2) & zeile1) Then Range(Chr$(b0) & zeile1) = "+" + b1$ + "." + b2$
If Range(Chr$(b0 - 1) & zeile1) < Range(Chr$(b0 - 2) & zeile1) Then Range(Chr$(b0) & zeile1) = "-" + b1$ + "." + b2$
End
modul1:
laenge = Len(Range(Chr$(b0) & zeile1))
If Mid$(Range(Chr$(b0) & zeile1), 1, 1) = " " Then Range(Chr$(b0) & zeile1) = Mid$(Range(Chr$(b0) & zeile1), 2, laenge - 1)
laenge = Len(Range(Chr$(b0) & zeile1))
For t = 1 To laenge
If Mid$(Range(Chr$(b0) & zeile1), t, 1) = "," Then
c1$ = Mid$(Range(Chr$(b0) & zeile1), 1, t - 1)
c11 = Val(c1$)
c111 = c11 * 60
c2$ = Mid$(Range(Chr$(b0) & zeile1), t + 1, laenge)
c22 = Val(c2$)
c333 = c111 + c22
t = laenge + 1
zr = 1
End If
Next t
If zr = 0 Then
c1 = Val(Range(Chr$(b0) & zeile1))
c333 = c1 * 60
End If
zr = 0
Return
fehler:
End Sub



Antwort 32 von krom123

ich will nur ein projekt oder makro von excel nach word kopieren. wie geht das?

oder kann mir jemand schreiben, wie ich in word in makro oder so was mache, damit ich nur auf das fax-icon klicken mauss, und schon wird der als drucker installierte fritzfax gestartet! wenn das gehen würde, wäre super! aber leider kann ich so was nicht. bitte helft mir doch auf die sprünge! danke!

Antwort 33 von nighty

hi krom123

ein weg um ein makro zu kopieren

wenn es von exel nach word gehen soll
exel menu extras/makro anwaehlen wo jetzt das makro anzuwaehlen ist und dann auf bearbeiten gehen,jetzt den text bzw. quellcode markieren und kopieren unter bearbeiten anwaehlen wobei sich kopieren auch mit der rechten maustaste auf den markierten text anwaehlen laesst.exel schliessen.eventuelle anfrage von windows ob daten in der zwichenablage gehalten werden sollen mit ja bestaetigen.word starten dort im menue extras/makros/aufnehmen gleich danach selbe menu aufnehmen beenden.wieder menue/extras/makros das zuvor aufgenommene anwaehlen den kommpletten inhalt loeschen,erste zeile anwaehlen und auf einfuegen gehen unter bearbeiten.jetzt muesste dein quellcode in dem neuen makro sein von word.
unter extras/makros eines anwaehlen und dann auf optionen gehen laesst sich ein shortcut(tastaturkuerzel) einstellen

gruss nighty


Antwort 34 von krom123

@nighty
danke für die hilfe, werde ich morgen im büro gleich ausprobieren

Antwort 35 von want2cu

hallo Excel-Fans,

wieder einmal habe ich kein Makro beizusteuern, dafür aber einen Super-Buchtipp:
Das Excel VBA Codebook
erschienen bei Addison Wesley, 3-8273-1979-x, Preis: € 59,95

Eine komplette Rezension habe ich leider noch nicht fertig, habe das Buch erst ganz kurz. Mein erster Eindruck ist aber total supi!!!

In diesem Buch gibt es wieder Makros satt nach Kategorien und für ganz bequeme (wie mich :-)))) auf der beiliegenden Buch-CD.

Das spart wieder mal ne menge Arbeit und man muss das Rad nicht neu erinden. Ausserdem können die Beispiele recht einfach an die eigenen Bedürfnisse angepasst werden.

HTH+CU
Klaus

Antwort 36 von nighty

hi want2cu

vielen dank fuer die tipps sind bestimmt hilfreich fuer einige(mich nicht ausgeschlossen),das mit dem vers der erst einer werden will(nicht so gut gelungen glaub ich)nicht so ernst nehmen urlaub gehabt ein glaeschen wein zuviel und schon ist die chaotik auf dem rechner,zudem missverstaendnisse durch die anonymitiet(irgenwas ist da schon wieder falsch)im internet arg gefoerdert werden ,es ist auch schwer sich darauf einzustellen finde ich.

einen wunderschoenen tag noch fuer einen unserer nettesten helfer im SN

gruss nighty

Antwort 37 von dengel40

Hi Leute ich bin hier zufällig auf eure seite gekommen, und hab mir gedacht es könnte mir jemand bestimmt unter die arme greifen.Hier mein problem
Ich habe ein kegelbuch für unseren Club erstellt ,und würde gern noch eine automatische platzverteilung nach punkten einbauen.Bin für jede anregung und jeden tipp dankbar.

Gruß Dengel40

Antwort 38 von Sechser

Hi,
bin in der Makroanwendung völliger Laie.
Habe folgendes Problem: in einer Excel-Tabelle soll in einer Wenn-Dann-Sonst-Funktion ein Makro gestartet werden. Wie muss die Funktion formuliert werden? Also wenn z.B. eine Zelle einen bestimmten Inhalt hat soll eine andere Zelle die Hintergrundfarbe ändern.

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


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: