Hozzászólások
-
SzerzőBejegyzés
-
Szia!
Értelme az lenne, hogy a leggyakrabban használt keresésekhez nem kellene nyitogatni fájlokat, hanem függvényként jelen lennének. És ez 1 helyen lenne, amit több felhasználó használna bővítményként. (A listát kell frissíteni rendszeresen, így viszont mindenkinél naprakész lenne.)
Sziasztok!
Van egy bajom: nem akar menni ez a függvény, amit zy.xlam függvénybe írtam:
Public Function besor1(hirdszektkod As String)
Dim tabla As RangeSet ws = Sheets(„Besor”)
ws.Activate
Set tabla = Range(„A1:D10000”)besor1 = ws.Application.WorksheetFunction.VLookup(hirdszektkod, tabla, 2, False)
End Function
#ÉRTÉK! hibát ír ki?
Mi lehet a baja?
A tudomány határtalan.
Ezt onnan lehet tudni, hogy még egyetlen egy tudósnál sem találtak egyszerre 6 árt! 🙂Szóval, ha ez gyakran kell, akkor Importáld ACCES-ba, onnan exportáld szövegfájlként, csak a végén csv kiterjesztéssel. Az export és import lépéseket tudod menteni is.
És jé! Működik!Dear Fear Bear!
Ja, bocs, most nem Micimackónak írok.
Szóval Feledy, ha van már valami előrehaladás, rakd fel a táblát, úgy könnyebben fog tudni mindenki segíteni.
Meg attól. hogy ez nem tanfolyam, azért még segít mindenki, aki réár éppen. Pláne sörért! 🙂
Ugyanitt: Eladó dióbél ütésálló gyári csomagolásban 1100 Ft/kgSzia!
Pár ötlet:
1) valahova a hátérrel megegyező színű betűvel beírni, hogy =ha(BX=”Szabadság”;előző napi dátum;Ha(B(X-15)=”Szabadság”;előző napi rejtett cella;””))
Vagyis ha az adott nap sabadság, akkor az előző nap dátuma, de ha az előz nap is szabi volt, akkor a rejtett cella adata. És innentől tudsz kalamolni tovább.
2) Hasonlóan az előzőhöz, csak feltételes formázással, hogy ha a cella =”szabadság, akkor a betűszín=háttérszín
3) oldalt elrejted egy oszlopba, hogy ha(BX=vagy(„Szabadság”;”Betegség”;”Igazolatlan távollét”;”Fizetett ünnepnap”;”Hétvége”);előző nap;előző napi indulás), és a képletben ezt az infót használod fel, nem az előző napit. Jó lenne legördülő listába rakni a válaszlehetőségeket is (cellaérték korláűtozás/lista/forrásból)Más: a dátumot előre beégetném
Szia!
Az A és B oszlopban vannak adatok, üres sorok nincsenek köztük. A C oszlop szerint rendezem, az utolsó adat után nincs adat benne (Ezért is működik a Loop Until elso = “” vizsgálat. Mégis a utolso = Cells(Rows.Count, “C”).End(xlUp).Row
vizsgálatra ugyanaz jön fel, mintha „A” oszlopra nézném.
Egyébként érdekes, hogy más korábbi tábláimban ugyanilyenek a „körülmények”, és az egyikben megy, a másikban csak a lépegetős ciklussal. És megfigyelésem szerint nem függ amérettől sem, a 60.000 -es adaton működik, a pár soroson meg nem.
Persze lehet, hogy attól, hogy az értéke a cellának =””, attól még valami formázás lehet benne, és akkor nem tekinti üresnek?
Igazából csak azért kérdezem, mert nem értem, hogy egyszer miért jó, egyszer miért nem.
Köszi az isempty-t, kipróbálom!Szia!
Ha beállítod, hogy rejtett is legyen a képletes cellád, és alkalmazod a munkalapvédelmet, akkor csak a legördülőre fog tudni a juhzer klikkelni, és akkor nem lesz vele bajod.
Szia Kati!
Így van! Csak elfelejtetem beírni ide.
Mea culpa!Serigala!
Rakj be egy oszlopot, és írd bele, =ha(hossz(B2)=4;B2;””), és akkor talán jó lesz, ha végig küldöd. Prímkó, de gyors megoldás.
Köszi Imi!
Próbáltam már így, de azt írta, hogy éppen használom. De kiderült, hogy csak a hálózat csapdájába estem, egyébként szuper.
Így aztán írtam is gyorsan egy különösen hasznos függvényt:Function Béget(db As Integer)
For i = 1 To db
Béget = „Beee ” & Béget
If i > 33 Then Béget = „Remélem ennyi elég lesz: ” & Béget
GoTo vége
End If
Next i
vége:End Function
SZia!
Makrómentes megoldásnak:
csinálj egy szűk oszlopot, ebbe csináld a korlátozást, ugyanolyan szinű legyen a betű, mint a háttér. Az előtte levő oszlopot védd le, ott ne tudjanak kalamolni. Oda fogod, beraksz egy képletet, hogy a nyelvtől függően keresse meg a szótártáblába azt, amit kiválasztottál. A lista hivatkozását (ahogy csináltad) szintén nyelvfüggővé tedd. Ekkor ami látható mindig a kiválasztott nyelvnek megfelelően látszódik, és ha rámész a legördülőre további adatfelvitel miatt, akkor is a prompt nyelv szerint fog megjelenni.1 db sör!
🙂Sziasztok!
468.349 sorból áll az Excel. elsó oszlop sorszám, értékként, másodikban minden 5-ben van, max 172 karakterhosszú adat, szövegként.
Kipróbáltam: 176086 sornál nem tudodm rendezni B oszlop szerint, viszont 176085 sornál már rendezi. Ez a határa.
Bocs, de személyi adatok vannak benne, ráadásul kint, 2 procin elfut, tehát hiába küldeném, neked menne.
Valami ötlet?Ha megjelenítésben akarod, akkor rejtsd el a 1-(x-1) hónapot, és csak x és szum x hónap fog látszani. Így a diagramban sem fog megjelenni, amit hoozzákapcsolsz.
Vagy az excelben is tudsz összesen oszlopt berakni, és akkor valóban csak 2 oszlopot fogsz látni.Vagy ue. csak Összefűz(A1) fv-nyel.
Szia!
Köszi, ez így tényleg tök jó. Közben megcsináltam másként, ide rakom az egészet:
(Valamelyik oszlopban lévő értékek szerint szed szét egy fájlt több darabra)Sub új_oszlop_szerint()
Dim wb, neva, el, mas, oszl As String
fej = InputBox(„Hány sornyi a táblázatod fejléce?”, „Fejléc megadása”, „1”)
neva = InputBox(„Milyen néven mentsem a fájlokat?”, „Fájlnév megadása”, „Darabolt”)
oszl = InputBox(„Melyik oszlop szerint válogassak? (Nagy betűvel add meg!)”, „Oszlop megadása”, „A”)kulcs = oszl & (fej + 1)
Sheets(„Alap”).Select
Cells.Select
ActiveWorkbook.Worksheets(„Alap”).Sort.SortFields.Clear
ActiveWorkbook.Worksheets(„Alap”).Sort.SortFields.Add Key:=Range(kulcs), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
Cells.Select
With ActiveWorkbook.Worksheets(„Alap”).Sort
.SetRange ActiveCell.CurrentRegion
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End Withkezd = fej + 1
fejsor = 1 & „:” & fej
beill = kezd & „:” & kezdSheets(„Alap”).Select
Rows(fejsor).Select
Selection.Copy
Sheets(„Segéd”).Select
Rows(fejsor).Select
ActiveSheet.Paste
Sheets(„Alap”).SelectDo
Sheets(„Alap”).Select
i = kezdDo
el = oszl & i
elso = Range(el).Value
mas = oszl & i + 1
masik = Range(mas).Value
i = i + 1Loop Until elso <> masik
‘kezd most még az eredeti érték
vege = i
masol = kezd & „:” & vege – 1Sheets(„Alap”).Select
Rows(masol).Select
Application.CutCopyMode = False
Selection.Copy
Sheets(„Segéd”).Select
Rows(beill).Select
ActiveSheet.Paste
‘hozzáigazítjuk a tartalomhoz
Cells.Select
Cells.EntireColumn.AutoFit‘átmásoljuk új lapra ée lementjük:
wb = ActiveWorkbook.Path
Sheets(„Segéd”).Select
Sheets(„Segéd”).Copywb = wb & „\” & neva & ” ” & elso & „.xls”
ActiveWorkbook.SaveAs wb
ActiveWindow.Close‘fejsort kivéve kitöröljük az adatokat
torol = (fej + 1) & „:” & vege
Sheets(„Segéd”).Select
Rows(torol).Select
Selection.ClearContentskezd = i
Loop Until masik = „”
Sheets(„Segéd”).Select
Rows(fejsor).Select
Selection.ClearContentsSheets(„Vezérlő”).Select
End Sub
Köszi, sikerült végül, cserébe küldöm a megoldást, szerintem érthető (Az IP címek a fiók nevéhez van a fejbe tömbként beadva). Beírkáltam az egyes részekhez, hogy mit is csinál, ez talán segíthet másoknak is 🙂
‘hibát megvizsgálja
hiba = Range(„G20”).Value
If hiba = „Hiba!” Then
MsgBox „Hiba van az adatokban, nem tudjuk így elküldeni!”
End
End If‘megkeresi a fiókhoz tartozó IP címet
fiok = Range(„D1”).Value
For i = 1 To 30
If fiok = tomb(i, 1) Then IPcim = tomb(i, 2)
Next‘lementi az éppen aktuális helyre másolatként Pd.xls néven a fájlt
wb = ActiveWorkbook.Path
wb = wb & „\Pd.xls”
ActiveWorkbook.SaveCopyAs wb‘Előkészíti a levelet, ide kell az IP cím
Set iMsg = CreateObject(„CDO.Message”)
Set iConf = CreateObject(„CDO.Configuration”)iConf.Load -1 ‘ CDO Source Defaults
Set Flds = iConf.Fields
With Flds
.Item(„http://schemas.microsoft.com/cdo/configuration/sendusing”) = 2
.Item(„http://schemas.microsoft.com/cdo/configuration/smtpserver”) _
= IPcim
.Item(„http://schemas.microsoft.com/cdo/configuration/smtpserverport”) = 25
.Update
End Withstrbody = „Mai p ” & fiok
‘A csatolmányt meg a címzetteket, tárgyat itt lehet megadni
With iMsg
Set .Configuration = iConf
.To = ” @.hu”
.CC = „”
.AddAttachment wb
.BCC = „”
.From = ecim
.Subject = strbody
.TextBody = strbody
.Send
MsgBox „Rendelés elküldve!”End With
‘kitörli a Pd.xls fájlt
Kill wb
End Sub
Köszönöm, ezt már próbáltam, de azt mondja, a Send-et nem engedi.(Rutime error ‘-214722 960 (80040220)
A „SendUsing”konfigurációs érték érvénytelen.Ez a kód maga (nyílván to és from kitöltve), persze sok mindent nem értek belőle 🙂
Sub CDO_Mail_Small_Text()
Dim iMsg As Object
Dim iConf As Object
Dim strbody As String
‘ Dim Flds As VariantSet iMsg = CreateObject(„CDO.Message”)
Set iConf = CreateObject(„CDO.Configuration”)‘ iConf.Load -1 ‘ CDO Source Defaults
‘ Set Flds = iConf.Fields
‘ With Flds
‘ .Item(„http://schemas.microsoft.com/cdo/configuration/sendusing”) = 2
‘ .Item(„http://schemas.microsoft.com/cdo/configuration/smtpserver”) _
‘ = „Fill in your SMTP server here”
‘ .Item(„http://schemas.microsoft.com/cdo/configuration/smtpserverport”) = 25
‘ .Update
‘ End Withstrbody = „Hi there” & vbNewLine & vbNewLine & _
„This is line 1” & vbNewLine & _
„This is line 2” & vbNewLine & _
„This is line 3” & vbNewLine & _
„This is line 4”With iMsg
Set .Configuration = iConf
.To = „@.hu”
.CC = „”.BCC = „”
.From = „@.hu”
.Subject = „New figures”
.TextBody = strbody
.SendEnd With
End Sub
-
SzerzőBejegyzés